Я пытаюсь создать прокси-dll, используя инструмент "wrappit", как рекомендовано здесь . Инструменты "wrappit" создают как. cpp правильно:
// ??0CFileFormat@@QAE@XZ
extern "C" __declspec(naked) void __stdcall __E__0__()
{
__asm
{
jmp p[0*4];
}
}
// ?GetSkipListingForSPlanner@EnvironVar@@SAKXZ
extern "C" __declspec(naked) void __stdcall __E__262__()
{
__asm
{
jmp p[262*4];
}
}
как сопровождающий файл .def:
EXPORTS
??0CFileFormat@@QAE@XZ=__E__0__ @1
?GetSkipListingForSPlanner@EnvironVar@@SAKXZ=__E__262__ @263
Но после того, как я собрал получившуюся библиотеку, все имена Экспортируемые функции во встроенной dll выглядят усеченными сразу после начала описания параметров. Так ??0CFileFormat@@QAE@XZ
превращается в ??0CFileFormat
, ?GetSkipListingForSPlanner@EnvironVar@@SAKXZ
превращается в ?GetSkipListingForSPlanner@EnvironVar
и так далее. В результате мой dll-прокси не загружается из-за отсутствия необходимого экспорта. Почему это происходит и что я должен сделать, чтобы это исправить?