mikrocontroller.net

Forum: PC-Programmierung Dll Problem mit header Dateien C


Autor: Ahnungsloser (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe ein problem mit der erstellung einer dll.#

Wenn ich mir in eclipse cdt eine .dll Datei erstelle. Erzeug mir der 
compiler zwar eine .dll aber keine .lib Datei.
Ohne die Lib datei muß ich aber dann doch alle Prototyp header im 
Hauptprogramm bekanntmachen, oder muß ich das mit einer .lib Datei auch 
tun.

Ich habe vor die .dll zum Programmstart einzubinden. nur will ich nicht 
alle Prototypen im Hauptprogramm stehen habe.

Ich dachte das Geht genauso wie mit einer statischen Bibliothek oder ist 
das nicht der Fall.

Also was ich genau meine ist folgendes: Wenn ich eine statische 
Bibliothek einbinde zum Beispiel libw32_2.a. dann kann ich ja im 
Mainprogramm einfach angeben #include winsock.h und die Funktionen 
daraus nutzen, ohne das ich die Prototypen der funktionen darin nochmal 
angeben muß.

Nun würde ich dasselbe gerne mit einer dll machen, wegen austauschbar 
und so... Nur erstellt mir da eclipse irgendwie keine Importbibliothek.

Und selbst wenn es eine erstellen würde. Sind dann die prototypen 
vorhanden und ich kann einfach mit #include einbinden so wie ich mir das 
wünsche oder nicht.

Wie würdet ihr das machen, für jede Hilfe wäre ich sehr dankbar...

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

Bewertung
0 lesenswert
nicht lesenswert
Ahnungsloser schrieb:
> Wenn ich mir in eclipse cdt eine .dll Datei erstelle. Erzeug mir der
> compiler zwar eine .dll aber keine .lib Datei.

Das ist normal, allenfalls gibt es zur Unterstützung noch eine 
sogenannte "import library", die sich mit Tools à la IMPLIB auch 
nachträglich erzeugen ließe.

> Ohne die Lib datei muß ich aber dann doch alle Prototyp header im
> Hauptprogramm bekanntmachen, oder muß ich das mit einer .lib Datei auch
> tun.

Das musst Du so oder so, der C-Compiler selbst wertet Libraries 
überhaupt nicht aus, das tut erst der Linker.

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.