2013-10-09 38 views
0

我嘗試創建Borland的* .dll文件C++ 5.02,我有問題,這個功能誤差APIENTRY的DllMain

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

我嘗試編譯我的項目,但編譯器顯示錯誤。使用此函數或此編譯器的任何錯誤與另一個編譯器具有不同的類型風格?

+1

很有可能。你真的應該得到一個最新的編譯器,你的年齡是16歲。有幾個很好的免費選擇。 – john

+0

報告的實際錯誤是什麼? –

+0

john:16它只是我的幸運數字,我想比較borland和visual C++ remy:彙編失敗,我的DLL無法創建 – cahyo16

回答

1

如果您已經安裝了的例子爲BC5.02,看在BC5 \實例\ 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 */ 
1

如果是AC風格功能::

#define WINAPI __stdcall 

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

如果C++風格功能::

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