我有一個編譯成EXE的VC++ win 32應用程序。但現在我想將它轉換爲DLL,以便我可以在另一個應用程序中加載。我嘗試將.EXE中的Visual Studio屬性更改爲成功轉換它的.DLL,但是當我使用GetProcAddress時,它始終返回NULL。我不確定我在做什麼是對還是錯。製作一個VC++ .exe到DLL。它可能嗎?
基本上這就是我想實現:
- 我想鏈接項目1和項目2
- 項目2應該能夠調用PROJECT1的功能(這是一個exe currenlty)
編輯 嗨,大家好,感謝您的意見。我告訴大家你說的。即使那樣我的GetProcAddress返回零。我是否做錯了什麼。在下面顯示我的dll加載代碼。
HINSTANCE LoadMe = LoadLibrary(_T("D:\\VC++Project\\CVAList\\CVAList\\ExportTest.dll"));
if (LoadMe != 0)
printf("LoadMe library loaded!\n");
else
printf("LoadMe library failed to load!\n");
EntryPointfuncPtr LibMainEntryPoint;
LibMainEntryPoint = (EntryPointfuncPtr)GetProcAddress(LoadMe,"PrintFloatsVal");
LibMainEntryPoint (a1 ,a,b,c,d); // 4 double
編輯 DLL導出代碼
#define DllExport __declspec(dllexport)
DllExport void PrintFloatsVal (int amount, double &d1 ,double &d2 , double &d3 ,double &d4)
{
....
..
}
1)你導出要從項目2調用的方法? 2.)你有沒有考慮靜態鏈接,這可能更容易? – Philipp 2011-03-27 09:30:00
不..我沒有 – 2011-03-27 09:43:46