Private Elemente einer Klasse in DLL exportieren
-
Hi,
ich hab eine Klasse (nur ein Beispiel):
class __declspec(dllexport) CTestklasse { public: void A(); protected: void B(); private: void C(); };
Warum exportiert der Compiler (VC 6.0 Standard) auch B() und C() in die DLL, wenn ich sie von außen ja eh nicht ansprechen kann
Muss ich jetzt jede Funktion extra exportieren und darf nicht mehr einfach die ganze Klasse exportieren?
Weil die private Funktionen sind Sachen wie AllocateMemory(), die wirklich nicht in die DLL-Schnittstelle exportiert werden sollen!ChrisM
[ Dieser Beitrag wurde am 08.12.2002 um 16:53 Uhr von ChrisM editiert. ]
-
*push*
Weiß denn niemand, was alles exportiert wird, wenn ich eine ganze Klasse mit __declspec(dllexport) exportiere?ChrisM
-
public/protected/private/class ... sind Schlüsselworte des Compilers,
declspec(dllexport) für den Linker, und den Linker interessieren die Schlüsselworte des Compilers nicht
-
Das heißt ein __declspec(dllexport) für eine Klasse wirkt so, als würde ich vor jede Funktion ein __declspec(dllexport) schreiben, auch vor die privaten?
ChrisM