VC++6 vergibt doofen Namen

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

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 :smile:

grüße
Bruno