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
}

2 つの DLL を作成します。1 つは 32 ビットのターゲット プラットフォームで、もう 1 つは 64 ビットのターゲット プラットフォームで、両方の DLL を impdef.exe でチェックします。

32 ビット DLL ではすべて問題なく、cmd で次のように表示されます。

EXPORTS
Test
___CPPdebugHook

64 ビット DLL では、次のように表示されます。

EXPORTS

その理由と、Embarcadero c++ で 64 ビット DLL を作成する正しい方法は何ですか?

どうもありがとう。

4

1 に答える 1