dll-Erstellung mit dem DJGCC



  • Hallo Fans des DJGCC,

    ich möchte eine DLL mit dem DJGCC erstellen. Erstmal soll es nur ein Test sein, sie soll eine Funktion Test zur verfügung stellen, die ein char[] als Eingabe erhält und eine Integer-Zahl zurückgibt. Also so:

    int Test(char kette[]) {
    ...
    }

    Wie gehe ich mit dem DJGCC vor? Folgende Fragen interessieren mich besonders:

    - was muss der Quellcode alles enthalten? (Ist zum Beispiel eine main-Methode erforderlich? ...)

    - wie muss ich den Quellcode übersetzen? Mit welchen Schaltern, flags, ...

    - ist die so erstellte DLL in andere Programme (z.b. Visual Basic etc.) einbindbar?

    Danke für jegliche Art von Infos!
    Der Frager



  • Das Teil heißt DJGPP.

    Es ist eine DOS-Portierung vom GCC und kann (wenn überheupt) nur 16-Bit DLLs erstellen, wie man dann natürlich nicht in Visual Basic & Co. nutzten kann, weil die 32-Bit sind.



  • 32 bit ! www.delorie.com 😉



  • Original erstellt von <Frager>:
    - was muss der Quellcode alles enthalten?

    Den Quellcode der Funktionen und Prozeduren für deine DLL.

    Original erstellt von <Frager>:
    - Ist zum Beispiel eine main-Methode erforderlich?

    AFAIK: Nein.
    Weil deine DLL nicht als eigenständiges Programm aufgerufen wird sondern nur über Einsprungpunkte für die jeweiligen Funktionen verfügen muss.

    Wobei ... Microsoft macht ja die abstrusesten Sachen und verwendet WinMain() statt main() und führt in manchen Beispielen die ich gesehen habe eine DLLMain() auf.

    Original erstellt von <Frager>:
    - wie muss ich den Quellcode übersetzen? Mit welchen Schaltern, flags, ...

    Unter UNIX nehme ich beim GCC immer -c -fPIC und Co. aber du arbeitest ja unter Windows mit DLL und nicht mit *.so Files ...

    Original erstellt von <Frager>:
    - ist die so erstellte DLL in andere Programme (z.b. Visual Basic etc.) einbindbar?

    Ja. Eine DLL kannst du -- egal womit programmiert -- sowohl in VisualC++, Borland C Builder, Borland Delphi, VisualBasic verwenden.

    Mit C# und Visual Studio .Net wird dir das ganze sogar noch als "ganz neue ganz Tolle Sache" für viel Geld verkauft.


Anmelden zum Antworten