Archiv verlassen und diese Seite im Standarddesign anzeigen : C portieren: Linux --> Solaris
Hallo,
wie portabel ist C?
Ich habe hier Quellcode, der unter Linux einwandfrei läuft, unter Solaris kann ich ihn aber nicht compilieren. Z.B. brauche ich unter Solaris "strings.h" während unter Linux "string.h" benötigt ist u.ä.
Muss ich den Code jetzt Error für Error durchgehen und an Solaris anpassen oder gibt es andere Möglichkeiten? Im Netz konnte ich dazu nichts finden.
Wo liegen bei der Portierung die Hauptprobleme?
Gruß
Chris
peschmae
11-03-2005, 20:32
wie portabel ist C?
Irgenwo zwischen komplett unportabel und 100%ig portabel. Kommt auf was-weiss-ich-nicht-alles drauf an - vor allem auf den ders schrieb.
MfG Peschmä
Gibt's net nen Linuxkompatibilitäts-Layer oder sowas für Solaris?
RapidMax
12-03-2005, 16:07
Um solche Unterschiede einigermassen übersichtlich zu handhaben wurde die Autotools Suite entwickelt. Allerdings ist auch hier Handarbeit notwendig.
Gruss, Andy
http://www-128.ibm.com/developerworks/eserver/articles/porting_linux/ ist schon einmal eine Guide um von Solaris nach Linux zu portieren. Allerdings scheint die ernüchternd zu sein. So heißt es lapidar;
The porting process itself is reasonably simple:
1. Clean up the code and header files and remove architectural dependencies and nonstandard practices.
2. Compile the code and fix problems found during compile time.
3. Fix segment faults and unaligned accesses, if necessary.
4. Recompile the code and repeat the above process, if necessary.
http://www.unixporting.com/quickguide.html ist auch eine ganz gute Quelle rund um das Thema.
Mit https://iforce.sun.com/partners/migration/ scheint Sun sich zudem speziell dem portieren von Linux nach Solaris zu widmen. Vielleicht findest du nach der erforderlichen Zwangs-Registrierung ja mehr infos.
RapidMax
14-03-2005, 21:22
Bei dem genannten Prozess helfen die Autotools (autoconf, automake, libtool) enorm. (kleines Howto (http://www.mrunix.de/forums/showthread.php?t=33699))
Gruss, Andy
Powered by vBulletin® Version 4.2.5 Copyright ©2025 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.