当前位置: 技术问答>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”,该如何解决
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)
如果这里调不到,会出现UnsafetiedLinkError的,
ProcAdd != NULL 不是判断为空,是if(!ProcAdd)
您可能感兴趣的文章:
本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。
本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。