调用DLL函数出现顺序问题
时间:2011-12-05
来源:互联网
创建了个动态链接DLL,在调用由DLL提供的函数的时候,调用的顺序出现问题。比如,如下调用,show1();show2();第一个函数会正常调用,第二个函数则会在程序运行结束的最后一刻调用。
DllTest代码如下:
#include <iostream.h>
#include <windows.h>
_declspec(dllexport) void show1()
{
cout<<"This is show1!"<<endl;
}
_declspec(dllexport) void show2()
{
cout<<"This is show2!";
}
DllTest包含个DllTest.def文件如下:
LIBRARY DllTest
EXPORTS
show1 @1
show2 @2
调用的程序为WIN32控制台应用程序:
#include <iostream.h>
#include <windows.h>
void main()
{
HINSTANCE hinst;
hinst=LoadLibrary("DllTest");
typedef void (*Show1)();
typedef void (*Show2)();
Show1 show1=(Show1)GetProcAddress(hinst,"show1");
Show2 show2=(Show2)GetProcAddress(hinst,"show2");
show1();
cout<<"behind show1()"<<endl;
show2();
cout<<"behind show2()"<<endl;
}
调用结果为:This is show1!
behind show1()
behind show2()
This is show2!
DllTest代码如下:
#include <iostream.h>
#include <windows.h>
_declspec(dllexport) void show1()
{
cout<<"This is show1!"<<endl;
}
_declspec(dllexport) void show2()
{
cout<<"This is show2!";
}
DllTest包含个DllTest.def文件如下:
LIBRARY DllTest
EXPORTS
show1 @1
show2 @2
调用的程序为WIN32控制台应用程序:
#include <iostream.h>
#include <windows.h>
void main()
{
HINSTANCE hinst;
hinst=LoadLibrary("DllTest");
typedef void (*Show1)();
typedef void (*Show2)();
Show1 show1=(Show1)GetProcAddress(hinst,"show1");
Show2 show2=(Show2)GetProcAddress(hinst,"show2");
show1();
cout<<"behind show1()"<<endl;
show2();
cout<<"behind show2()"<<endl;
}
调用结果为:This is show1!
behind show1()
behind show2()
This is show2!
作者: gangjian68 发布时间: 2011-12-05
不可能出现的结果
你自己仔细看看
跟踪设置断点看看是否已经执行
你自己仔细看看
跟踪设置断点看看是否已经执行
作者: sky101010ws 发布时间: 2011-12-05
引用 1 楼 sky101010ws 的回复:
不可能出现的结果
你自己仔细看看
跟踪设置断点看看是否已经执行
不可能出现的结果
你自己仔细看看
跟踪设置断点看看是否已经执行
断点经过show2();但是没有显示,是个很奇怪的问题。
作者: gangjian68 发布时间: 2011-12-05
console有输出缓冲的,你没回车(endl或者"\n")那么屏幕可能不会刷新,加个endl就ok了
作者: Kevin_qing 发布时间: 2011-12-06
相关阅读 更多
热门阅读
-
office 2019专业增强版最新2021版激活秘钥/序列号/激活码推荐 附激活工具
阅读:74
-
如何安装mysql8.0
阅读:31
-
Word快速设置标题样式步骤详解
阅读:28
-
20+道必知必会的Vue面试题(附答案解析)
阅读:37
-
HTML如何制作表单
阅读:22
-
百词斩可以改天数吗?当然可以,4个步骤轻松修改天数!
阅读:31
-
ET文件格式和XLS格式文件之间如何转化?
阅读:24
-
react和vue的区别及优缺点是什么
阅读:121
-
支付宝人脸识别如何关闭?
阅读:21
-
腾讯微云怎么修改照片或视频备份路径?
阅读:28