mikrocontroller.net

Forum: PC-Programmierung *.obj Dateien


Autor: Programmierer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: daniel(root) (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
du bist der Meinung C Standard regelt das?
:)

Autor: Programmierer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Vermutlich nicht. Also ist das Compiler abhängig? Wie sieht es denn bei 
gcc aus?

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Programmierer schrieb:
> Wie sieht es denn bei gcc aus?

Der generiert dir z.B. aus einer .c-Datei eine .o-Datei.

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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

Autor: Rolf Magnus (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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".

Autor: Rufus Τ. Firefly (rufus) (Moderator) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Mark Brandis (markbrandis)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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 :-)

Autor: Troll (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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?

Autor: Karl Heinz (kbuchegg) (Moderator)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Wenn du ihn dir intravenös installierst, dann ist das cool.

Autor: Sven P. (haku) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
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.

Autor: Silvan König (silvan) Benutzerseite
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Um mal wieder zum Thema zurückzukehren: Der SDCC generiert .rel Dateien.

Die Bibliothekdateien sind aber ebenfalls .lib

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.