I am trying to create a dll written in C and which will be imported by other programs also written in C.
Thus, the entire function that the dll exports is defined in the .dll "without __declspec (dllexport)" (intentionally). I defined a .def file that has only the Export section and the name of the functions I want to export (unmangled names).
I use vc71 / vs2003 to create it and I still get malformed names (which I can see if I open .lib in notepad). In addition, for clarification, visual studio also causes name manipulation in C code (most of the resources that I could find mentioned that this was only a problem with C ++).
How can I prevent this name from appearing?
Additional Information:
The changed names are of the form 'functionName @integer', where integer represents the size of the parameter in bytes (not the serial number). For instance,
From .lib: _PrepareSeverResponse @ 8
Function declaration in .h: char * PrepareSeverResponse (unsigned int * size, handshake * ws_handshake);
.def: EXPORT PrepareSeverResponse
Calling Convention: __stdcall (/ Gz)
We hope this becomes clearer.
source share