Hallo, ich habe eine .dll geschrieben und exportiere eine Funktion mittels
__declspec(dllexport) double GetValue()
Nun in der entstehenden .dll heisst sie aber auf einmal „?GetValue@@YANXZ“
da ich die .dll dynamisch lade bin ich aber auf den korrekten Namen angewiesen, wie gewöhn ich dem ab da so einen Mist draus zu machen?
Grüße
Bruno
Anonym
2
Du hast es hier mit dem name-mangling problem zu tun. Einer der vielen Gruende, warum eine Windows-DLL beispielhaft nicht unter Linux laeuft oder so.
Versuch es mal mit :
extern „C“ double _stdcall GetValue(void);
und schau Dir mal die def-Datei in Deinem projekt genau an.
Cu
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Danke habe das mit extern „C“ gerade auf MSDN irgendwo gelesen… bisher nie geblickt was dieser Befehl macht, funktioniert nun
.def files habe ich mit dem __declspec(dllexport) erfolgreich vermieden 
grüße
Bruno