Re: Using CALL_EXTERNAL with C++ Code [message #37887 is a reply to message #37820] |
Tue, 03 February 2004 01:42  |
ebertf
Messages: 12 Registered: January 2004
|
Junior Member |
|
|
I got a solution for my problem. For anyone, who might be interested:
When using the C++ Compiler the names in the EXPORT LIST are decorated
with funny tags.
An example:
An entry in your DLL, lookin like this:
_declspec(dllexport) IDL_INT IDL_CDECL dllquest(int argc, void
*argv[])
{
<your C++ code>
}
is causing a name in the exportlist like this:
?dllquest@@YAFHQAPAX@Z
With CALL_EXTERNAL you need to call the second one, then it works and
you can process C++ Code in IDL. Using C-Compiler (option /Tc with cl)
the names are equal.
How the the Compiler changed the names can be obtained with a command
from the DOS Prompt on the OBJECT File the compiler created:
DUMPBIN <*.obj-File> /SYMBOLS
There you can find both names.
I think there are other ways to work around this problem (not to call
this weired decorated names) with a *.def File. But I don�t know how
to do that. If anybody can give a little 'manual' how to create such a
DLL I were very grateful.
Florian
|
|
|