Hallo, sind die .o Dateien verschiedener c Compiler mit denen vom gcc kompatibel - bzw kann ich die mit dem gcc linker zu einem binary verlinken? Mich interessiert es deswegen, weil ich gerne Bibliotheken die nicht in gcc entwickelt wurden binär weitergeben möchte, aber beim Kunden keinen teuren kompiler voraussetzen möchte. Gruß, Karl
Das hängt vom verwendeten Binärformat ab. Unter Linux/Cygwin sollte es das Kommando 'file' geben, z.B.
1 | foo@bar:~$ file objfile.o |
2 | objfile.o: ELF 32-bit LSB relocatable, ARM, version 1 (ARM), not stripped |
Weiterhin müssen beide Kompiler die gleiche Aufrufkonvention verwenden.
Es ist stark anzuzweifeln, dass im Embedded-Bereich die Objektdateien der Compiler irgendwie kompatibel sind. Selbst der Wert einer binären Weitergabe ist fraglich, gemessen daran, dass man zumindest bei kleinen Controllern schnell genug den kompletten Inhalt eines Controllers disassembliert hat. Du kannst also auch gleich den Sourcecode weitergeben und es auf diese Weise deinen Kunden ermöglichen, bei Bedarf selbst schnell mal zu debuggen.
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.