Kleine Headerkunde



  • Und wie kann ich mir die dann mal ansehen?
    Also dass Microsoft den Code nur bedingt rausgibt kann man ja noch (zum Teil) verstehen, aber die iostream- codes müssten doch eigentlich open source sein oder?



  • Wiso müssten der iostreams - Code Open Source sein?

    Jeder Compiler verwendet da seinen eigenen Code, der zum gcc ist natürlich FOS, der zum VC ziemlich sicher nicht.

    Allerdings dachte ich dass man eim VC (zumindest ab ner teureren Version) Die Sources mitgeliefert bekommt ...



  • Also ich nutze MinGW für Windows und ist das dann nicht Open Source?



  • Bei VC ist der ganze source von der C lib mitgeliefert, aber nicht der von windows(so eine kleine lib kann ja mal rausgeben(auf meiner 90-tage testversion), aber ein ganzes OS ist dann schon etwas anderes).



  • Ja alle Windows Funktionen will ich auch gar nicht haben 😃
    Nun immer noch die Frage: Wie kann ich mir die Funktionen (aus welcher lib auch immer) denn mal ansehen?



  • Ihr redet da Unsinn!

    Die iostream usw. bestehen ausschliesslcih aus Headern, weil es sich um Templates handelt. Und da bisher nur ein Compiler auf der Welt (namens Cameou) Templates in CPPs unterstützt, programmiert so gut wie niemand Templates in CPPs, sondern komplett in Headern. Denn Templates in Headern versteht jeder Compiler.

    Es ist also totaler Quatsch zu sagen, das die CPPs bei MS versteckt sind. Weil es keine CPPs für die iostream u.a. C++-Standardlibrary-Klassen gibt. So einfach ist das.



  • Pille456 schrieb:

    Also ich nutze MinGW für Windows und ist das dann nicht Open Source?

    Doch, natuerlich. Aber der Quellcode der Standarbibliothek wird glaub ich gar nicht mitgeliefert, wozu auch. ABer du kannst ihn dir ja im Netz anschauen:

    http://gcc.gnu.org/libstdc++/



  • Pille456 schrieb:

    Ja alle Windows Funktionen will ich auch gar nicht haben 😃
    Nun immer noch die Frage: Wie kann ich mir die Funktionen (aus welcher lib auch immer) denn mal ansehen?

    ?
    Wenn du den Sourcecode hast sieh in dir einfach an. Wenn du ihn nicht hast kannst du ihn auch nicht ansehen?!?
    Windows Funktionen (KERNEL32, USER, GDI, ...) kannst du dir üblicherweise nicht ansehen weil du den Sourcecode nicht hast.
    CRT Funktionen sind beim Compiler mit dabei, nur bei der Express Edition nicht AFAIK.
    Guck halt einfach nach was im VC Verzeichnis alles da ist und was nicht...



  • Artchi schrieb:

    Ihr redet da Unsinn!

    Die iostream usw. bestehen ausschliesslcih aus Headern, weil es sich um Templates handelt. Und da bisher nur ein Compiler auf der Welt (namens Cameou) Templates in CPPs unterstützt, programmiert so gut wie niemand Templates in CPPs, sondern komplett in Headern. Denn Templates in Headern versteht jeder Compiler.

    Es ist also totaler Quatsch zu sagen, das die CPPs bei MS versteckt sind. Weil es keine CPPs für die iostream u.a. C++-Standardlibrary-Klassen gibt. So einfach ist das.

    Es ist, wenn man mal drüber nachdenkt, auch totaler Quatsch zu sagen, dass kein anderer Compiler Templates in cpp-Files unterstützt. Und der Compiler heißt Comeau und hat als einziger mir bekannter Compiler export für Templates implementiert.



  • Dennis123 schrieb:

    Die kompilierten cpps liegen alle in den dlls, wobei man dann die .lib s brauch, um die dlls einzubinden

    Also ich kann meine cpp auch so kompilieren, dass alles in ner lib ist und dann brauch ich keine dll. wieso sollte man die libs brauchen um die dlls einzubinden?



  • Artchi schrieb:

    Ihr redet da Unsinn!

    Die iostream usw. bestehen ausschliesslcih aus Headern, weil es sich um Templates handelt. Und da bisher nur ein Compiler auf der Welt (namens Cameou) Templates in CPPs unterstützt, programmiert so gut wie niemand Templates in CPPs, sondern komplett in Headern. Denn Templates in Headern versteht jeder Compiler.

    Es ist also totaler Quatsch zu sagen, das die CPPs bei MS versteckt sind. Weil es keine CPPs für die iostream u.a. C++-Standardlibrary-Klassen gibt. So einfach ist das.

    die von cin und cout verwendeten buffer, die implementierung der locale Klasse,sowie die einzelnen facets stehen sicher in keiner header datei 🙂



  • Blah-blabla-blaaaaah.
    Davon abgesehen: auch Comeau hat keine vollständige Implementierung von "export", es sei denn das wäre in den letzten paar Monaten passiert.



  • @Threadersteller: Nimm linux, da is alles offen und da kannste dir den Quellcode bis in die kleinsten Winkel anschauen. Have fun!

    Bzw falls du keine lust hast eine linux distri zu installieren:

    http://www.kernel.org <=== da kannste dir den linux-kernel-source saugen und anschauen. Musst aber aufpassen dass du auch den source vom kernel bekommst und net nur einen PATCH. Schau einfach, dass das paket so um die 40 mb groß is und net nur 2-3!



  • wenn dir Assembler spaß macht kannst du dir gerne auch mal alles bis ins letzte anschauen 🙂

    dann hast du halt nicht C++ code sondern reine mnenomics 🙂

    MfG
    RadiatioN


Anmelden zum Antworten