000
08.10.2003, 17:14 Uhr
~Christoph Redl
Gast
|
Hallo!
Ich habe in C++ eine eigene DLL erstellt. Den Code dafür habe ich aus einem Buch abgeschrieben, und er funktioniert auch. Einen Teil davon verstehe ich aber nicht ganz, und er ist im Buch auch kaum erklärt. Die DLL besteht aus einer cpp-Datei und einer Headerdatei. In der Headerdatei steht folgendes:
C++: |
#ifndef __MYDLL_H #define __MYDLL_H #ifndef __MYDLL__ #define __MYDLLLIB__ __declspec(dllimport) #else #define __MYDLLLIB__ __declspec(dllexport) #endif
__MYDLLLIB__ unsigned int Function1 ();
#endif
|
Der Code ist laut Buch dafür da, dass die gleiche Headerdatei für das DLL-Projekt selbst, und für andere Projekte (wo ich die DLL einbinden will) verwendet werden kann. Prinzipiell verstehe ich die Sache auch: Die Funktion wird je nachdem, ob sich die Headerdatei im DLL-Projekt oder in einem anderen befindet entweder exportiert oder importiert.
Die ersten 3 Zeilen machen mir aber Probleme: #ifndef __MYDLL_H #define __MYDLL_H #ifndef __MYDLL__
Hier wird vom Precompiler anscheinend überüft ob irgend welche Flags (nicht) gesetzt sind. Woher kommen die Flags aber eigentlich und was sagen sie aus?
Danke im Voraus!
mfg
--edit: Pablo. [ cpp ] tags gesetzt -- Dieser Post wurde am 08.10.2003 um 17:30 Uhr von Pablo Yanez Trujillo editiert. |