0

Borland C++ 5.02 で *.dll ファイルを作成しようとしましたが、この関数に問題があります。

BOOL APIENTRY DllMain( HANDLE hModule, 
                       DWORD  ul_reason_for_call, 
                       LPVOID lpReserved
                     )
{
    return TRUE;
}

プロジェクトをコンパイルしようとしましたが、コンパイラにエラーが表示されます。この関数またはこのコンパイラに問題があり、別のコンパイラとは型スタイルが異なりますか?

4

2 に答える 2

1

BC5.02 のサンプルをインストールした場合は、BC5\EXAMPLES\WINDOWS\DLLDEMO を参照してください。DLL エントリ ポイントは次のように定義されています。

// Every DLL has an entry point LibMain || DllEntryPoint
// and an exit point WEP.
#if defined(__FLAT__)
BOOL WINAPI DllEntryPoint( HINSTANCE hinstDll,
                           DWORD fdwRreason,
                           LPVOID plvReserved)
#else /* not flat model  */
int FAR PASCAL LibMain( HINSTANCE hInstance,
                        WORD wDataSegment,
                        WORD wHeapSize,
                        LPSTR lpszCmdLine )
#endif /* __FLAT */
于 2013-10-10T07:34:06.640 に答える
1

ac流関数なら::

#define WINAPI __stdcall

extern "C" BOOL APIENTRY WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
{
    return TRUE;
}

if C++ スタイル関数 ::

BOOL APIENTRY WINAPI DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
{
    return TRUE;
}
于 2016-06-29T07:20:16.327 に答える