Re: [問題] VS2005 DLL linking問題
: 開發環境:VS2005
: 小的手邊有一個現成的 DLL
: 因為特殊因素 現成的這個DLL只能用 dynamic DLL linking方式來鏈結
: 為了要在自己的程式做static DLL linking
: 與是想要再寫一個 DLL 以 dynamic DLL linking的方式鏈結到這個現成的 DLL
: 並能提供自己程式 static DLL linking 的方式鏈結
: 請問這種情況有辦法做到嗎?
: 因為 dynamic DLL linking 需要用到 LoadLibrary()
: 但在沒有main的DLL 這種方式可能實現嗎?
: 謝謝
: --
: ※ 發信站: 批踢踢實業坊(ptt.cc)
: ◆ From: 118.166.132.134
: 推 VictorTom:在Windows下, DLL雖然沒有main, 但是有DllMain, 通常DLL 12/08 09:50
: → VictorTom:被load起來以後第一個要中的是DLLMain裡的attachProcess 12/08 09:50
: → VictorTom:所以DLL裡找合適的地方call LoadLibrary其他DLL是OK的:) 12/08 09:51
所以就是放在attachProcess之後就可以囉?
像是下面這樣
static HMODULE hmod = NULL;
wstring dllPath=L"xxxx.dll";
#ifdef _MANAGED
#pragma managed(push, off)
#endif
BOOL APIENTRY DllMain( HMODULE hModule, DWORD ul_reason_for_call,
LPVOID lpReserved )
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
hmod = LoadLibrary(dllPath.c_str());
break;
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
break;
}
return TRUE;
}
#ifdef _MANAGED
#pragma managed(pop)
#endif
謝謝^^
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 210.63.100.2
推
12/08 13:32, , 1F
12/08 13:32, 1F
→
12/08 13:33, , 2F
12/08 13:33, 2F
→
12/08 13:33, , 3F
12/08 13:33, 3F
→
12/12 04:02, , 4F
12/12 04:02, 4F
推
12/12 10:08, , 5F
12/12 10:08, 5F
討論串 (同標題文章)
本文引述了以下文章的的內容:
完整討論串 (本文為第 2 之 2 篇):
C_and_CPP 近期熱門文章
PTT數位生活區 即時熱門文章