- 博客(8)
- 资源 (12)
- 收藏
- 关注
原创 我理解的堆栈(stack)、动态内存分配与堆(heap)
看到第4章,首次接触到堆(heap)这个概念,不好理解,所以用vs2010反汇编跟踪下程序:// use_new.cpp -- using the new operator#include int main(){ using namespace std; int nights = 65535; int * ni = &nights; int * pt = new int;
2013-04-27 10:19:17 2437
原创 一个C语言程序说明了实参到形参的传递过程(2)
这里继续上次的思路,从汇编语言里具体了解下实参到形参的传递过程,我这里使用的是VS2010编译器,将此程序反编译后一步步跟踪程序的运行过程。下面还是先贴出这个程序的源代码(运行结果在注释出或者上一篇文章):#include int func(int a,int b){ printf("%d,%d\n",a,b); int c; c=a+b; return c;}i
2013-04-19 17:54:10 1247
原创 一个C语言程序说明了实参到形参的传递过程(1)
偶然发现了这样一个有意思的C语言程序: 这个程序有意思之处在于,从源程序中分析出的结果与程序运行得到的结果差别很大。一个很自然的想法是,我看到源程序就能知道运行的结果,很郁闷的是,我看到这个程序运行的结果后,疑问就更多了。。。程序的实参是同一个变量,而且在传递参数的过程中有计算,那么在传递过程中两个实参肯定是相互影响的。至于参数是怎么互相影响的,取决于编译器怎么翻译这段程序到汇编语言(
2013-04-19 10:11:01 1800
原创 Intel 汇编与C语言
学到这里,突然对汇编与C预言的相似之处做一下比较:8086的汇编是16位的,调用的是dos与bios的中断例程intel的这本汇编是win32的,调用的是操作系统提供的API函数但是我们直接去调用API函数编程,需要很了解API函数,对于初学者很难理解,所以作者编写了库文件Irvine32.lib,其中包含了许多常用的过程(调用API函数实现),然后把这些过程的原型(或者说是声
2013-04-17 13:46:51 1035
原创 《Inter汇编语言程序设计》10.1.1 结构中域的对齐(ALIGN伪指令)
(这是一个为win32汇编结构体中域的内存对齐的理解)内存对齐: 现代计算机中内存空间都是按照byte划分的,从理论上讲似乎对任何类型的变量的访问可以从任何地址开始,但实际情况是在访问特定变量的时候经常在特定的内存地址访问,这就需要各类型数据按照一定的规则在空间上排列,而不是顺序的一个接一个的排放,这就是对齐。 “内存对齐”应该是编译器的“管辖范围”。编译器为程序中的每
2013-04-09 17:33:29 1058
原创 《Inter汇编语言程序设计》8.6 创建多模块程序(INVOKE PROTO)
继续上此的多模块创建...INVOKE与PROTO伪指令隐藏了大量的细节,程序的书写格式发生了不少变化。但是有一点,无论是ENTERN创建的还是INVOKE PROTO创建的,经过编译连接后生成的机器码是一样的..(_prompt.asm模块):TITLE Prompt For Integers (_prompt.asm)INCLUDE Irvine32.inc
2013-04-09 10:48:15 965
原创 《Inter汇编语言程序设计》8.6 创建多模块程序(ENTERN)
在此章节之前,创建的程序全部是只用一个模块的,也就是程序中只用了一个END指令,这里通过创建ArraySum例子程序演示创建多模块程序的方法。首先通过使用ENTERN伪指令创建传统的多模块程序,这里的ENTERN伪指令实际上只起了调用其他模块里的过程前对此过程的声明作用。这里的被调用过程与一个模块表达式没有书写格式上的变化,源程序如下:(_prompt.asm模块)TI
2013-04-09 10:21:47 997
原创 《Inter汇编语言程序设计》7.6 ASCII和未压缩算术指令(AAA指令的一点理解)
这一节我个人觉得比较难学(可能我基础差了些),一直接触的指令都是处理二进制数据的,突然接触了个按十进制数串的形式进行运算的,确实很盲目,本例就是这本书的ASCII_add.asm的例子,作者讲的我感觉我不够详细,理解着困难,所以以初学者的理解发这个文章,有什么理解不正确的地方,欢迎看到的指正。下面直接分析程序:TITLE ASCII Addition (ASCII_add.asm)
2013-04-07 11:29:04 1257
SQLiteExpertProfessional&SQLiteSpy&SQLiteStudio(附文档和源码)
2017-01-19
Concurrent Control with “Readers” and “Writers”
2017-01-15
基于 MFC 对话框的 Excel 辅助工具
2015-08-24
青鸟消防辅助编程工具.exe
2015-08-23
一个非常简单的对话框程序
2015-08-22
基于Windows API与C++的俄罗斯方块
2015-04-24
Dosbox + MASM各个版本 + 教程
2013-10-18
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人