DLL



  • Hallo Leute!

    Könnt ihr mir helfen? Ich habe eine dll, die ich durch das kompilieren von einem Projekt bekommen habe (Modell aus dem Matlab/Simulink). Jetzt möchte ich gerne sie in ein Projekt einbinden und das drin programmierte Modell ansprechen, d.h. auf die Methoden zugreifen. Ich habe schon die dll-Datei in das projekt eingebunden. Es ist bereits im Arbeitsbereich zu sehen.
    Ich habe schon mit dem Befehl <strong>extern "C" __declspec...</strong> versucht aber der Compiler bringt mir immer Fehler. Geht das überhaupt ohne eine zugehörige lib?
    Und meine zweite Frage: wie kann ich mir die Methoden die drin enthalten sind, mir anzuschuen? Geht das überhaupt.

    Danke im voraus,

    Krys



  • a) anschauen siehe dumpbin
    b) lib und header dateien brauchst du schon ansonsten geht nur späte bindung.

    volker



  • #define EXPORT __declspec(dllexport)
    #define CALL _cdecl
    

    Und so exporttiere Ich eine Funktion:

    EXPORT void CALL Test() {
    }
    

    Und das Laden:

    HMODULE library;
    library = LoadLibrary("C:\Test.dll");
    void (*Test)();
    Test = (_cdecl*)()GetProcAdress(library, "Test");
    

    Dann kannst du Test() aufrufen.


Anmelden zum Antworten