in Oberon eine c lib/dll nutzen



  • Hallo Leute,

    wie ist es möglich in Oberon eine in C erstellte .lib/.dll zu verwenden?
    Hab die .lib normal erstellt und in POW dem Projekt hinzugefügt.
    Dann hab ich eine neue Datei erstellt:

    DEFINITION test;
    
    PROCEDURE [_APICALL] add(a,b: INTEGER): INTEGER;
    
    END test.
    

    //diese soll die c Funktion add(int a, int b) { return a+b; } aufrufen,
    jedoch sagt mir der Oberonlinker:
    add@8 in C:\test.obj not resolved!

    hat jemand ne Idee wie ich das nun anstellen kann?!



  • Du musst überprüfen, dass die ABIs gleich sind. Also dass die Symbole gleich benannt sind (zB könnte Oberon ein anderes Schema für Symbolnamen haben), dass die Aufrufkonventionen stimmen etc.

    Steht dazu nichts in dem Handbuch des Oberon Compilers?

    (btw. wie bist du auf Oberon gestoßen? Irgend eine alte Legacy-Software, die du nun warten darfst?)



  • also im Handbuch steht so gut wie gar nix zu Dlls...
    ne ich wollt nen paar Übungen machen weil wir das grad in Informatik machen müssen...


Anmelden zum Antworten