该程序模拟UNIX中save与resume函数,并介绍在VC中如何使用汇编进行机器级的操作. 主函数很简单首先引入两个外部函数,extern "C"表示按传统C命名习惯.函数save将程序指针保存在(*s)中并返回0,为什么有 if(save(&sp)){...} if后的语句看起来永远都不会被执行,但是运行结果表明它被执行了.这个问题同UNIX中处理机调度函数(switch)的那个if语句(第一句)一样. 程序执行完save(&sp)后得到因为条件为假而执行else语句,却在判断之前将程序指针保存在sp中了. else语句中的resume(&sp),该函数很狡猾将堆栈中的返回地址改变了,改到了sp所指出,即将程序指针改到了执行条件判断前.resume返回1,条件满足,执行if语句. save函数堆栈: eip ebp+8 s ebp+4 ebp ebp+0 resume函数堆栈与save的相同. 新建一个win32的工程,将unixc.cpp和unix.obj加入过程即可. unix.obj是用masm6.11生成的:ml /c /coff unix.asm,生成coff格式的obj而不是omf格式.
上传时间: 2015-09-10
上传用户:变形金刚
C语言指针和数组使用,了解它们有异同.有助于更加熟练有使用他们.
上传时间: 2015-09-20
上传用户:chenjjer
C语言程序设计中的文件操作部分课件,讲述文件指针,文件定位,出错检测.
上传时间: 2013-12-25
上传用户:dsgkjgkjg
C++中只能指针的基本应用,有一定的说明性
标签: 指针
上传时间: 2015-10-08
上传用户:钓鳌牧马
很好的 关于C++的例子 我想你要是可以把上面的例子都做好了 看明白了 关于函数指针这一部分你应该学的很好了
上传时间: 2015-10-16
上传用户:mikesering
Visual C++编程技巧之 1.如何获取应用程序的实例句柄? 2.如何通过代码获得应用程序主窗口的指针? 3.如何在程序中获得其他程序的 图标? 4.如何编程结束应用程序?如何编程控制windows的重新引导? 5.怎样加栽其他的应用程序? 6.确定应用程序的 路径 7.获得各种目录信息 8.如何自定义消息
上传时间: 2014-01-19
上传用户:爱死爱死
C和指针非常好的一本书.里面的有许多代码可以借鉴.
上传时间: 2013-12-31
上传用户:1159797854
C和指针,强烈推鉴学C的人看一看,保证不会让你失望.
标签: 指针
上传时间: 2015-11-17
上传用户:jhksyghr
如何在硬件条件允许的情况下在C语言中使用双数据指针提高程序的执行效率,文章还给出了例子程序.
上传时间: 2015-12-06
上传用户:kjl
软件公司c语言培训 一、 学习编程语言的一些建议 二、 指针 三、 预处理器 四、 结构、联合和枚举 五、 sizeof 六、 参考书籍和资料
上传时间: 2013-12-06
上传用户:thuyenvinh