Dne 2.1.2012 19:52, Martin Nowak napsal(a):
Do you mean exported by dmd? AFAIK on Windows cdecl function names are prefixed with an underscore.
Yes, dmd v2.057 This code:
import std.c.windows.windows; import core.sys.windows.dll; export extern (C) void fn1() {} export extern (C) void fn2() {} export extern (C) void fn3() {} extern (Windows) BOOL DllMain(HINSTANCE hInstance, ULONG ulReason, LPVOID pvReserved) { return true; }
gives this output in dependency walker:
_fn1 fn2 fn3
whereas this C++ code:
extern "C" _declspec(dllexport) int _cdecl fn1() { return 1; } extern "C" _declspec(dllexport) int _cdecl fn2() { return 1; } extern "C" _declspec(dllexport) int _cdecl fn3() { return 1; }
compiled with VS2008 gives this output in dependency walker:
fn1 fn2 fn3
so I guess that cdecl does not necessary mean underscore in function name... Martin