c++ - Dependency Walker shows up @x after function names -


i'm writing plugin dll piece of software , dll compiles fine, software not able access dll's functions. know software aware of dll though.

when examine dll in dependency walker, function names have @x appended end, e.g. foo@4 means foo has 1 parameter (number of function parameters multiplied 4).

however, when examine plugin dll known work dll functions not have @x appended @ end. since dll known work , dll not work, think has it.

the dll works uses __declspec(dllexport) __stdcall on exported functions. note have source code of dll. know works because have dll file itself, haven't compiled myself. far know compiled in borland ide, it's eclipse specific problem here?

does know might wrong and/or how can make dll work properly?

edit should point out i'm using eclipse ide, mingw compiler.

the names dependency walker shows true names. decorated names , presence of @<num> indicates __stdcall function exported __declspec(dllexport).

if linked dll @ load-time using import library (.lib file) supplied it, mapping between true name , decorated name contained in import library. if link @ run-time getprocaddress need use decorated name.

since writing plugin host using run-time linking. , have comply specific naming conventions. means need suppress name decoration. __stdcall function means must export functions using .def file rather __declspec(dllexport).

of course, plausible got calling convention wrong when wrote plugin. perhaps host expects cdecl. cannot tell here calling convention should using. documentation of host app presumably specify calling convention.


Comments

Popular posts from this blog

html - Sizing a high-res image (~8MB) to display entirely in a small div (circular, diameter 100px) -

java - IntelliJ - No such instance method -

identifier - Is it possible for an html5 document to have two ids? -