Forum: PC-Programmierung einige Fragen zu DLL


von Gast (Gast)


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

von Helfer (Gast)


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.

von zwieblum (Gast)


Lesenswert?

#endif DLL_H

fehlt als letzte zeile in deinem beispiel

von zwieblum (Gast)


Lesenswert?

#endif /*DLL_H*/

oops, kommentar vergschluckt :-)

von Vlad T. (vlad_tepesch)


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

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
Noch kein Account? Hier anmelden.