几个线程同时加载一个DLL会不会冲突?
几个线程用到同一个dll,我的做法是,每一个线程都用LoadLibrary来加载这个DLL,用完之后用FreeLibrary释放掉,请问这几个线程调用DLL时,是各自加载一个属于自己的DLL到内存,还是总共加载一个?彼此之间是否会有冲突?
补充一点:我的DLL调用函数位于静态函数中,各个线程都会调用这个静态函数来加载DLL
HINSTANCE hInst;
hInst = LoadLibrary("Test.dll");
typedef void (*ADD)(int a);
ADD add= (ADD)GetProcAddress(hInst,"Add");
if (!add)
{
AfxMessageBox("从Test.dll中获取函数失败");
}
else
{
add(3);
}
FreeLibrary(hInst);
谢谢指教...