Hallo,
ich bin grad bei meinen ersten Gehversuchen mit
DLL's in C++.
Ich versuche wie folgt eine funktion aus einer
DLL zu exportieren:
Code:
//Export-Anweisung
__declspec(dllexport) __stdcall int Test();
//Die Funktion selbst
int __stdcall Test()
{
ShowMessage("Es scheint zu funzn.");
return 5;
}
Leider wird die Funktion mit dem Namen "@Test$qqsv" exportiert und nicht mit dem Namen "Test".
Woran liegt das bzw. wie kann ich das ändern? Irgendwo hab ich auch gelesen das es zum exportieren auch noch eine Variante mit einer .DEF - Datei gibt. Allerdings fehlen mir dort komplett die Anhaltspunkte wie es damit funktioniert. Außerdem muss/sollte es ja auch mit der obigen Methode funktionieren.
[Edit]
Nach längerem frustrierten Suchen hab ich die Lösung gefunden:
Code:
extern "C" __declspec(dllexport) __stdcall int Test();
durch das vorranstellen von <extern "C"> wird der Exportname nicht decoriert.
[/Edit]