0

我正在尝试使用此处推荐的“wrappit”工具制作代理 dll 。工具“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 无法加载。为什么会发生这种情况,我应该怎么做才能解决它?

4

0 回答 0