>>
>> The first one isn't decorated, the second one is.
IT> Have you actually tried it? Build a DLL with this code, check with
IT> Dependency Walker. These two functions get exported under the following
IT> names:
IT> [EMAIL PROTECTED]
IT> ?PI_TestEx@@[EMAIL PROTECTED]
IT> The first name is decorated, the second is mangled (there's a difference
IT> between these two things, but it doesn't matter in this context where
IT> all you want is to get an exported name exactly as it is in your code).
IT> Igor Tandetnik
I see your point. As someone else posted though, you can control this
with the declaration.
/*
** Make sure we can call this stuff from C++.
*/
#ifdef __cplusplus
extern "C" {
#endif
__declspec(dllexport) HANDLE _cdecl PI_Test(const char* pszFilename)
{
return(NULL);
}
#ifdef __cplusplus
}
#endif
__declspec(dllexport) HANDLE _cdecl PI_TestEx(const char* pszFilename)
{
return(NULL);
}
Results in:
using "Dumpbin /exports" on the link library
?PI_TestEx@@[EMAIL PROTECTED] (void * __cdecl PI_TestEx(char const *))
PI_Test
using "Dumpbin /exports" on the dll
ordinal hint RVA name
4 0 00001730 ?PI_TestEx@@[EMAIL PROTECTED] =
@ILT+1835(?PI_TestEx@@[EMAIL PROTECTED])
10 9 0000110E PI_Test = @ILT+265(PI_Test)
--
Best regards,
Teg mailto:[EMAIL PROTECTED]
_______________________________________________
sqlite-users mailing list
[email protected]
http://sqlite.org:8080/cgi-bin/mailman/listinfo/sqlite-users