一个汇编程序,魔兽世界点运行后后如何将结果停留在dos窗口? assume c...

22232425262728123456789101112131415161718192021222324252627282930311234
随笔 - 151
评论 - 110
本博客原创文章,欢迎转载和交流。不过请注明以下信息:
作者:TimWu
来源:/Tim
感谢您对我的支持!
随笔分类(164)
积分与排名
阅读排行榜汇编实验五--DOS功能调用_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
喜欢此文档的还喜欢
汇编实验五--DOS功能调用
阅读已结束,如果下载本文需要使用
想免费下载本文?
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
你可能喜欢1359人阅读
在vs2010中,新建C语言程序,运行时出现这样的现象:DOS窗口一闪而过,想查看输出内容,但是看不到,很纠结!!!
现整理下自己测试过的方法:
&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&&
1) 在main()函数的末尾加一个&system(&pause&); 此时头文件应有#include&stdlib.h&
注意:主函数末尾有return 0时system(&pause&)加在return 0前&&&&&&&&&&&&
&//首选这个吧,挺好用的
2) 在main()函数的末尾加一个getch(); 此时头文件应有#include&conio.h&
& //这个不怎么常用
3)非调试状态下运行,直接按按Ctrl+F5;如果按F5调试的话,就会出现一闪而过的情况,但该方法不适用于生成的exe文件;
//这个用起来比较方便
4) 给程序加一个任务,即定义一个内联函数&inline void keep_window_open(cin&&),然后在mian函数末尾加上keep_Window_open();这个方法是最有效也是最常用的,网上很多方法原理都类似于此。具体原因我也不知晓。C++中比较常用
5)其他方法,如设置断点,单步调试等。
各路高手们谁要是有其他方法/技巧
   还愿赐教!!!!
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
访问:94743次
积分:1493
积分:1493
排名:第12636名
原创:40篇
转载:42篇
评论:22条
(2)(8)(17)(3)(5)(4)(15)(2)(1)(3)(1)(7)(2)(10)(1)(2)(2)(1)(1)(2)(2)(2)(2)(3)(1)(3)(2)(3)只需一步,快速开始
只需一步,快速开始
后使用快捷导航没有帐号?
查看: 516|回复: 23
做好的exe文件在dos里直接运行,然后用debug查看没有任何改变。
该用户从未签到
马上注册加入鱼C,享用更多服务吧^_^
才可以下载或查看,没有帐号?
但是用debug加载一步一步运行,最后查看内存就改变了,这是怎么回事
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
该用户从未签到
希望前辈能来解惑一下
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
签到天数: 1319 天[LV.10]以坛为家III
漠然 发表于
希望前辈能来解惑一下
希望提供下代码和问题截图。
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
该用户从未签到
小甲鱼 发表于
希望提供下代码和问题截图。
嗯 我在下面放截图
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
该用户从未签到
这个是源程序
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
该用户从未签到
1是直接运行exe和结果,2是用debug加载运行的和结果。
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
该用户从未签到
问题就是直接运行,查看内存并没有改变
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
签到天数: 1319 天[LV.10]以坛为家III
漠然 发表于
1是直接运行exe和结果,2是用debug加载运行的和结果。
程序直接运行并退出后,所有的环境和状态都会弹出栈,也就是恢复默认。在1图中,你是执行完成4.exe,再执行debug.exe,是两个不同的程序哦,在2图中,你是用debug加载4.exe,才是4.exe的内存状态。
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
签到天数: 263 天[LV.8]以坛为家I
漠然 发表于
问题就是直接运行,查看内存并没有改变
哥们 ~~~鱼大说的就是要在dos中输入:debug 4.exe 这样来调试~~~&&不知道楼主这个程序是在哪里的~~你push后就直接退出了 程序~~~以前用vs2010写c++中内联汇编的时候我记得 push了数据后 如果没有pop,程序执行到最后会出问题的~~~在汇编中我还没这样试过~~~我去试试这段代码 ~~谢谢哥们发出来做为参考~~~
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
签到天数: 263 天[LV.8]以坛为家I
小甲鱼 发表于
程序直接运行并退出后,所有的环境和状态都会弹出栈,也就是恢复默认。在1图中,你是执行完成4.exe,再执 ...
鱼大~~~~在汇编中不用使得栈平衡吗? 他直接push了数据在退出的时候却并没用pop或者其它指令使得栈平衡(我记得以前使用vc中内联汇编的时候,push后数据要pop掉栈里的东西否则堆栈在最后的时候就会崩溃~~~),这里他怎么没出现过这个问题呀~~~~很费解~~~
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
该用户从未签到
小甲鱼 发表于
程序直接运行并退出后,所有的环境和状态都会弹出栈,也就是恢复默认。在1图中,你是执行完成4.exe,再执 ...
也就是说程序执行完,栈段的内容会恢复默认。但是1中最后显示出来的内容(0,0,0,0......)是在程序里给定的数值,而这段内存原本的默认值并不是0,0,0,0.......这是怎么回事
还有就是只有栈段的内容会恢复,而其他普通段的内容是不会恢复的吗?我自己看是不会恢复的
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
该用户从未签到
Crazy迷恋. 发表于
哥们 ~~~鱼大说的就是要在dos中输入:debug 4.exe 这样来调试~~~&&不知道楼主这个程序是在哪里的~~你push ...
这个是汇编课本上的课后题
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
签到天数: 263 天[LV.8]以坛为家I
漠然 发表于
这个是汇编课本上的课后题
我尝试了一下确实是我想多了~~~程序退出的时候栈直接清了~~~~
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
该用户从未签到
Crazy迷恋. 发表于
我尝试了一下确实是我想多了~~~程序退出的时候栈直接清了~~~~
那用debug加载的结果会不会清呢?
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
该用户从未签到
小甲鱼 发表于
程序直接运行并退出后,所有的环境和状态都会弹出栈,也就是恢复默认。在1图中,你是执行完成4.exe,再执 ...
我又试了一下,直接运行之后确实会恢复默认,上面可能是我前面哪里搞错了。但我发现用debug加载运行之后的结果是不会被恢复的,是吗
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
签到天数: 263 天[LV.8]以坛为家I
漠然 发表于
那用debug加载的结果会不会清呢?
如果 在cmd中输入&&的是debug 4.exe的话 这样就是向debug程序传入4.exe这个程序,debug会对4.exe这个程序进行调试,debug调试它的时候它就相当于进入运行状态~~~~在运行中内存寄存器的值才会按照我们程序所写的那样正常执行,如果一个程序执行完毕后,内存空间是不属于这个程序的。它是属于整个操作系统自由调配的空间。
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
该用户从未签到
这个是题目和答案,题目要求是将数据储存在B段中,可是答案讲b段设为一个栈段,程序运行之后,栈段就恢复了,这样并没有将数据储存到b段中。这样就和题目要求不符了。
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
签到天数: 1319 天[LV.10]以坛为家III
漠然 发表于
我又试了一下,直接运行之后确实会恢复默认,上面可能是我前面哪里搞错了。但我发现用debug加载运行之后的 ...
16#给了很好的回答~
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
签到天数: 1319 天[LV.10]以坛为家III
Crazy迷恋. 发表于
鱼大~~~~在汇编中不用使得栈平衡吗? 他直接push了数据在退出的时候却并没用pop或者其它指令使得栈平衡( ...
这是有BUG的编程,PUSH就需要POP对应,但就算程序里边只有PUSH没有POP也是没关系的,因为程序退出后,所有的数据会销毁无效啦~
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
该用户从未签到
Crazy迷恋. 发表于
如果 在cmd中输入&&的是debug 4.exe的话 这样就是向debug程序传入4.exe这个程序,debug会对4.exe这个程序 ...
明白了&&谢谢
如果您的【问题求助】得到满意的解答,请自行将分类修改为【已经解决】;如果想鼓励一下楼主或帮助到您的朋友,可以给他们【评分】鼓励;善用【论坛搜索】功能,那里可能有您想要的答案!
•••(
Powered by汇编程序设计(子程序和DOS功能调用)实验报告_百度文库
两大类热门资源免费畅读
续费一年阅读会员,立省24元!
评价文档:
喜欢此文档的还喜欢
汇编程序设计(子程序和DOS功能调用)实验报告
子​程​序​和​D​O​S​功​能​调​用
阅读已结束,如果下载本文需要使用
想免费下载本文?
把文档贴到Blog、BBS或个人站等:
普通尺寸(450*500pix)
较大尺寸(630*500pix)
你可能喜欢

我要回帖

更多关于 魔兽世界点运行后 的文章

 

随机推荐