www.mikrocontroller.net

Forum: PC-Programmierung einige Fragen zu DLL


Autor: Gast (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Hallo, kann mir einer erklären was die folgenden Befehle bedeuten. Würde 
es gern auch ausführlich wissen. Ich kann zwar in Dev-c++ eine Dll 
erstellen und die dann auch einbinden. nur versteh ich mache befehle 
einfach nicht (die von dev automatisch erstellt werden)

#ifndef DLL_H
#define DLL_H

#if BUILDING_DLL
# define DLLIMPORT __declspec (dllexport)
#else /* Not BUILDING_DLL */
# define DLLIMPORT __declspec (dllimport)
#endif /* Not BUILDING_DLL */

danke schon ma

Autor: Helfer (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
>#ifndef DLL_H
>#define DLL_H
Das ist ein include-guard

>#if BUILDING_DLL
># define DLLIMPORT __declspec (dllexport)
>#else /* Not BUILDING_DLL */
># define DLLIMPORT __declspec (dllimport)
>#endif /* Not BUILDING_DLL */
sorgt dafür dass du dieselbe headerdatei für deine DLL und dein Programm 
das die DLL benutz verwenden kannst.

Autor: zwieblum (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
#endif DLL_H

fehlt als letzte zeile in deinem beispiel

Autor: zwieblum (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
#endif /*DLL_H*/

oops, kommentar vergschluckt :-)

Autor: Vlad Tepesch (vlad_tepesch)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Gast schrieb:
> # define DLLIMPORT __declspec (dllexport)

allerdings sollte man das define nicht DLLIMPORT nennen, sondnen irgend 
einen projektspezifischen Bezeichner verwenden, weil so die Gefahr 
besteht, dass das benutzende Projekt, den selben Namen für eigene 
Export-Funktionialitäten benutzt.

Deswegen am besten sowas wie DLLNAME_DECL oder so

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.