000
20.01.2004, 11:22 Uhr
~Dirk23
Gast
|
Hi,
ich habe jetzt schon in mehreren Dlls folgendes Konstrukt gesehen.
Code: |
#ifdef TEST_EXPORTS #define TEST_DLL __declspec (dllexport) #else #define TEST_DLL __declspec (dllimport) #endif
|
Was genau macht dieses Konstrukt. Ich verstehe es einfach nicht. Mit dllexport wird eine Funktion oder Klasse export, d.h. nach außen sichtbar gemacht. Ich verstehe das jetzt so, dass immer wenn ich vor eine Funktion ab jetzt TEST_DLL schreibe, diese dann exportiert wird. Aber was macht dieses dllimport? Das ist mein Problem. Ich habe gelesen, dass mit Hilfe dieses dllimport dann eine exportierte Funktion verwendet werden kann. Aber wozu brauche ich einen Import innerhalb einer Dll? Außerdem frage ich mich überhaupt, wozu ich diesen Importbefehl brauche, denn eine Funktion zu importieren, klappt doch eigentlich auch, wenn man ganz einfach die Funktion aufruft, ohne irgendetwas vor die Funktion zu schreiben.
Naja, ziemliches Chaos gerade in meinem Kopf. Ich hoffe, dass ihr mir helfen könnt das Geheimnis dieses Konstrukts zu lüften.
Danke schon mal im Voraus
Dirk |