hi...
ich habe mir letztens das tutorial über die dll-programmierung angesehen, und das hat mir auch sehr gut gefallen, aber eine frage habe ich jetzt noch: Ich habe eine dll programmiert und im release-modus kompiliert, als ich dann ein projekt im debug-modus kompiliert habe, dass diese dll benutzt hat, ist das programm abgestürzt. im release modus hat es funktioniert. danach habe ich die dll noch einmal im debug modus kompiliert und dann hat es geklappt (die release exe natürlich nicht
). In der TriBase habe ich gesehen, dass das Makro _DEBUG angibt, ob man sich im debugmodus befindet (zumindest in vc++ in anderen IDEs hab ich keine Ahnung). David hat in der TriBase folgende Abfrage benutzt:
|
C-/C++-Quelltext
|
1
2
3
4
5
|
#ifdef _DEBUG
#define TB_DLL_HANDLE (GetModuleHandle("TriBaseD.dll"))
#else
#define TB_DLL_HANDLE (GetModuleHandle("TriBase.dll"))
#endif
|
wie kann man mithilfe dieser makros einstellen welche Dll/Lib datei erstellt, bzw gelade wird?
EDIT: ach ja, noch eine frage: muss man bei variablen auch __declspec(dllexport/import) benutzen?