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


Anmelden zum Antworten