显式调用时,GetProcAddress获得的指针为空。是什么原因呢?隐式调用该动态库没有问题。m_hInstMaster = LoadLibrary("myapple.dll") ;
if(m_hInstMaster)
{
(FARPROC&)AppleWash= GetProcAddress(m_hInstMaster,_T("AppleWash"));
}
if(m_hInstMaster)
{
(FARPROC&)AppleWash= GetProcAddress(m_hInstMaster,_T("AppleWash"));
}
至于隐式调用,系统可能会再PATH环境变量指定得路径中搜索,所以能找到答案:不要用相对路径,用绝对路径
在depends看到是什么?是不是_AppleWash@n这种形式的?如果是,将在depends里面看到函数的名字完整的抄下来,然后
FARPROC AppleWash = GetProcAddress(m_hInstMaster,_T("_AppleWash@n"));//用抄下来的完整的名字。
m_hInstMaster = LoadLibrary("myapple.dll") ;
if(m_hInstMaster)
{
AppleWash= GetProcAddress(m_hInstMaster,_T("AppleWash"));
}
shanhe972005(茫然走在海边看那潮来潮去)这和是否一致没关系,如果LoadLibrary没错(注意,相对路径还是隐患),那么就只有函数名字和实际不匹配了用dumpbin看看他输出的名字到底是啥,
也可以看看这个
http://blog.vckbase.com/arong/archive/2004/06/09/409.html