DLL problem
-
Dear Everybody I Want to make Dll file But The Exported Functions name have some prefix & post fix. if my Function name is Myproc its name show az ?abMyproc@@AXDCGFDFFD. How can I Fix it ? I'm Sorry For my English too :-O tancks. Iman Ghasrfakhri
-
Dear Everybody I Want to make Dll file But The Exported Functions name have some prefix & post fix. if my Function name is Myproc its name show az ?abMyproc@@AXDCGFDFFD. How can I Fix it ? I'm Sorry For my English too :-O tancks. Iman Ghasrfakhri
In C++, names are mangled because of their polymorphic nature. Consider the functions
void func(int x) { ... }
void func(float x) { ... }. Clearly the name
func
is not enough as it is in C. C++ mangles the types involved into the name, resulting in "weird" names as the one you have discovered. However, functions may be exported with C linkage. This means that you get an unmangled name of that function in the librarys symbol table. It also means that you cannot use that name any longer for polymorphic functions. You should mark your function with anextern "C"
clause. This MSDN link is a good starting point: ms-help://MS.MSDNQTR.2003FEB.1033/vclang/html/_pluslang_Linkage_to_Non.2d.C.2b2b_.Functions.htm[^] -- They're out get me, I can't escape cos' they won't let me They won't forget me, they'll get me in their grip and sweat me They'll wait me out, and then move in under my skin They'll make me doubt, they're out to make me let them in