2

我正在使用 C++ Builder XE4,试图创建一个带有一些导出函数的 64 位 DLL。

下面是一些测试代码:

#include <vcl.h>
#include <windows.h>

#pragma hdrstop
#pragma argsused

int WINAPI DllEntryPoint(HINSTANCE hinst, unsigned long reason, void* lpReserved)
{
   return 1;
}

extern "C" __declspec(dllexport) __stdcall void Test()
{
   // do smth
}

我创建了两个 DLL,一个具有 32 位目标平台,另一个具有 64 位目标平台,然后使用 impdef.exe 检查两个 DLL。

使用 32 位 DLL 一切正常,我在 cmd 中看到:

EXPORTS
Test
___CPPdebugHook

使用 64 位 DLL,我看到的是:

EXPORTS

这可能是什么原因,在 Embarcadero c++ 中创建 64 位 DLL 的正确方法是什么?

非常感谢。

4

1 回答 1

3

你的dll没有问题。使用DependencyWalker (depends.exe) 而不是 impdef.exe 来查看导出的函数。

于 2013-10-25T15:03:50.267 回答