Hallo, Es geht um die Programmiersprache C. s Sind *.obj Dateien das Gleiche wie *.o. Dateien? Also vorcompilierte Programmmodule? Und wo liegt der Unterschied zu *.lib Dateien? MfG.
Programmierer schrieb: > Wie sieht es denn bei gcc aus? Der generiert dir z.B. aus einer .c-Datei eine .o-Datei.
Das gcc-Äquivalent einer *.lib-Datei heißt *.a, i.d.R. beginnt der Dateiname mit "lib", was aber bei der Angabe für den Linker weggelassen wird. Die Kommandozeilenoption -lm sorgt für ein Linken mit* libm.a *) manche meinen, hier "gegen" schreiben zu müssen
Rufus Τ. Firefly schrieb: > Das gcc-Äquivalent einer *.lib-Datei heißt *.a, i.d.R. beginnt der > Dateiname mit "lib", was aber bei der Angabe für den Linker weggelassen > wird. > > Die Kommandozeilenoption > > -lm > > sorgt für ein Linken mit* libm.a Letztendlich ist ein .a-File nichts weiter als ein Archiv aus .o-Files (mit dem Archivierungs-Tool ar erzeugt). So kann man mehrere .o-Files zu einer Bibliothek zusammenfassen, die man als Ganzes an sein Programm linken kann. Ein .a-File kann man auch wie ein .o-File direkt in der Kommandozeile angeben, also ohne -l davor. > *) manche meinen, hier "gegen" schreiben zu müssen Ich würde "an" schreiben. "gegen" ist vermutlich einfach eine Fehlübersetzung basierend auf dem englischen "against".
Rolf Magnus schrieb: > Letztendlich ist ein .a-File nichts weiter als ein Archiv aus .o-Files > (mit dem Archivierungs-Tool ar erzeugt). So kann man mehrere .o-Files zu > einer Bibliothek zusammenfassen, die man als Ganzes an sein Programm > linken kann. Annähernd dasselbe trifft auch auf *.lib-Files zu. Rolf Magnus schrieb: >> *) manche meinen, hier "gegen" schreiben zu müssen > > Ich würde "an" schreiben. "gegen" ist vermutlich einfach eine > Fehlübersetzung basierend auf dem englischen "against". Bereits im englischen Sprachraum gibt es Leute, die "with", und Leute, die "against" linken. Ist vermutlich eine Frage der Coolness, so wie es auch Leute gibt, die einen Server installieren, während andere ihn aufsetzen.
Rufus Τ. Firefly schrieb: > Ist vermutlich eine Frage der Coolness, so wie es auch Leute gibt, die > einen Server installieren, während andere ihn aufsetzen. Die coolen Leute sagen "installieren", weil das Wort einen lateinischen Ursprung hat :-)
Rufus Τ. Firefly schrieb: > Ist vermutlich eine Frage der Coolness, so wie es auch Leute gibt, die > einen Server installieren, während andere ihn aufsetzen. Wäre es eigentlich im Umkehrschluss zu sagen, dass ich mir jetzt mal einen Kaffee installiere?
Von früher(tm), als man noch Übersetzer und Binder gesagt hat, kenne ich es so: Mit einer Bibliothek zusammenbinden resultiert in einem statischen Abbild ('statisch gelinkt'). 'Gegen' kam dann wohl zusammen mit dynamischen Bindern, wo die Bibliotheken nachher nicht mehr am Abbild klebten. Allerdings habe ich 'gegen etwas binden' noch nicht gehört, ist irgendwie schräg.
Um mal wieder zum Thema zurückzukehren: Der SDCC generiert .rel Dateien. Die Bibliothekdateien sind aber ebenfalls .lib
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.