当前位置:  技术问答>java相关

Karnak(神庙)请进,dll调dll问题的延续

    来源: 互联网  发布时间:2015-04-22

    本文导语:  在以下联接中,你给了我一个例子 http://www.csdn.net/expert/topic/557/557810.xml?temp=9.902591E-02 typedef  UINT  (CALLBACK*  PRINT_DLL)(char  *); 这是什么意思 比如我第二个被调用的dll 是 2ndDLL.dll, 就一个方法 testMethod #include  v...

在以下联接中,你给了我一个例子

http://www.csdn.net/expert/topic/557/557810.xml?temp=9.902591E-02


typedef  UINT  (CALLBACK*  PRINT_DLL)(char  *); 这是什么意思

比如我第二个被调用的dll 是 2ndDLL.dll, 就一个方法 testMethod
#include 
void testMethod(){
printf("print in 2nd DLLn");
}

我在第一个dll中想调用这个2ndDLL的testMethod方法

  HINSTANCE hinstLib;
  MYPROC ProcAdd;
  hinstLib = LoadLibrary("2ndDLL"); 
  if (hinstLib != NULL) 
    { 
        printf("try to getProcAddressn");
ProcAdd = (MYPROC)GetProcAddress(hinstLib, "testMethod"); 
if(ProcAdd != NULL){
(ProcAdd)();
}
else{
printf("cannot getProcAddressn");
}
FreeLibrary(hinstLib);
}
  else{
printf("cannot LoadLibraryn");
  }

请问 type void (*MYPROC)(); 写在include之后是否正确???

运行结果显示“cannot getProcAddress”,该如何解决

|
hinstLib = LoadLibrary("2ndDLL"); 
如果这里调不到,会出现UnsafetiedLinkError的,
ProcAdd != NULL 不是判断为空,是if(!ProcAdd)

    
 
 

您可能感兴趣的文章:

 
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3