c++ header auf verschiedenen Betriebssystemen



  • Wie weit sind denn die C++ header (also auch die "alten" c-header wie cstdlib) auf Systemen wie aix und sunos, linux, windows, bsd usw. gleich?
    ich hab verschiedentlich gehoert, dass es z.T. schon zwischen Linux-Distributionen teils erhebliche Unterschiede gibt (z.B. header.h anstelle nur header).
    Gibt es einen Leitfaden, wie man sich verhalten sollte, wenn man ein Programm mit c++ anstelle c-headern versorgen moechte?



  • Also, wenn du eine aktuelle Implementierung eines C++ Compilers hast, kannst du die C++ Varianten nehmen. Die Header müssen nicht ekakt gleich sein,aber das muss dich nicht kümmern. Es muss alles kompatibel mit anderen Implementierungen sein und das gleiche bewirken, wenn du das gleiche machst.



  • hm...
    das Problem ist, dass ich eben nciht weiss, auf was fuer Systemen das Ding jetzt laeuft. Ich hab einige workarounds fuer Fehlende Sachen in aix und ein paar fuer Solaris gesehen.
    Fuer aix hab ich bis jetzt keine Dokumentation gefunden, was nun geht und was nicht.
    Bei Solaris weis ich z.B. dass das KDE Projekt da arge Probleme hat(te), weil der Sun compiler nicht so reagiert hat wie der GCC, ich weiss aber nicht ob sich das auf die Header bezieht oder die Syntax.
    Hintergrund: Ich moechte (hauptsaechlich zum basteln) bei einem vorhandenen Programm die c header durch die c++ header ersetzen, das kann ich aber gleich lassen, wenn die implementierungen sich stark unterscheiden, weil ich keinen Zugriff auf die anderen Betriebssysteme hab. Alte Linux Versionen zu testen geht ja noch, bei Debian Sarge bin ich mir fast sicher dass alles geht, bei Etch weiss ich es. Das wars aber auch schon 😞



  • 100%ige sicherheit wirst nich bekommen, da momentan, zumindest laut meinem wissensstand, kein compiler zu 100% den c++ standard implementiert. Man naehert sich aber definitiv an ... also gibt es kein offizielles kleinstes gemeinsames vielfaches zwischen den compilern.

    wenn du wilde sachen, hauptsaechlichst aus dem bereich templates, vermeidest (zeugs was man zu 99,9% nicht taeglich benutzt), selber keine ausgewiesenes undefiniertes verhalten (plattformspezifisch) nutzt, wirst aber sehr hohe wahrscheinlichkeit haben dass Dein code auf anhieb funktioniert.

    Ciao ...



  • das gibt mir doch dann zumindest ein wenig Sicherheit 🙂 Danke euch beiden.
    Naja, templates werden schon benutzt, fuer Listen z.B. mal sehen 😉


Anmelden zum Antworten