摘要:
汇编指令非常多,这里记下一些基础指令,为以后学习打基础:1 堆栈相关指令引入概念——堆 栈堆head:动态内存分配的内存,用malloc、new等分配的内存在heap上,即内存回收由程序员完成栈stack:函数中定义的局部变量分配的内存在stack上,即内存回收由编译器完成·push:把32位的操作数压入堆栈中。导致esp(栈顶)减4·pop:与push相反,esp加4,数据出栈在函数参数的传递过程中,sub和add常用来操作堆栈,call和ret对堆栈也有影响。·sub:减法·add:加法·ret: 返回,跳转回调用函数的地方,返回到call 阅读全文
摘要:
第一章的sample1,文中提到由于windows底层代码基本上是用c语言编写的,因此新工程里的CPP文件要改为C文件。但是在编译时出现错误fatal error C1853: "debug/1_1.pch" is not a precomplied header file with this complier......这个问题还真是头一次遇到,怎么办?百度一下,解决办法如下:错误原因:该错误是因为当项目中混合了 .cpp 和 .c 文件时,编译器会对它们采取不同的编译方式(主要是因为对函数声明的处理方式不同),因而不能共用一个预编译头文件。在 VC++ 中,默认的预编译 阅读全文