简单的call函数过程
1.参数入栈,返回地址入栈。在一个栈帧里,call function的完整过程应该是这样的,call调用的过程要经历两个过程,一个是首先把调用函数之前的指令的下一条指令地址压入栈中(push ebp),作为返回地址,也就是保存旧栈地址,接着会跳转到被调函数的地址入口。呵呵,现在就是借此来恶补汇编哈。
2.代码区跳转。在执行被调函数的时候,为函数重新开辟栈帧,(mov ebp,esp)这句的意思是将旧栈顶换为新栈的底,这里的新栈一般是由函数专属的哈, 下面就是用sub esp, ...
分类:
其他好文 时间:
2014-05-22 11:34:25
阅读次数:
189
??
Terrible Sets
Time Limit: 1000MS
Memory Limit: 30000K
Total Submissions: 2999
Accepted: 1549
Description
Let N be the set of all natural numbers {0 , 1 , 2 , . . . ...
分类:
其他好文 时间:
2014-05-22 09:52:10
阅读次数:
283
OpenGL中的投影使用
在OpenGL中,投影矩阵指定了可视区域的大小和形状。对于正投影与透视投影这两种不同的投影类型,它们分别有各自的用途。
正投影
它适用于2D图形,如文本、建筑绘图等。在它的应用场合,我们希望在屏幕上展示准确的物体大小和度量。
透视投影
它使用透视除法,对距离观察者较远的物体...
分类:
其他好文 时间:
2014-05-22 09:19:20
阅读次数:
280
题目:很简单,就是题目,将链表从尾到头打印出来。
可能我们首先想到的是将链表进行遍历,将之前的访问的数据进行保存,最后进行反向输出,可是保存数据的空间是个问题;或者是我们将整个链表进行反向操作,将整个链表进行逆置,可是我们只是进行打印操作而已,改变链表不合适吧...
其实这时候应该想到了,用栈:既然是逆置,和栈的功能不就不谋而合吗,后进先出,进行反向打印。...
分类:
其他好文 时间:
2014-05-22 06:41:25
阅读次数:
255
return 和 exit 的区别
exit() 表示结束当前进程或当前程序,在整个程序中,只要有
exit,就退出,并将应用程序的一个状态返回给OS。一般
和操作系统相关的是0为正常退出,非0为非正常退出。
return: 表示调用堆栈的返回。例如当程序进入函数调用时,当函数
...
分类:
其他好文 时间:
2014-05-22 06:22:02
阅读次数:
258
这里果然是有一个数组ArrayList在管理,ArrayList是啥?是动态数组,这就意味着他是可以动态添加的,不是栈,所以里面的Fragments可以随便获取以及插入。...
分类:
其他好文 时间:
2014-05-20 16:25:38
阅读次数:
277
1.预备知识
1.关于栈,在windows里面的堆栈其实很简单,当学了才知道哈,呵呵,第一要记住的是windows里面的栈是向低地址生长的(extended,延伸,呵呵,顺便丰富下英语的单词量,确实是少的可怜),你可以这样认为,栈就像是一个倒立的箱子,箱子的口子是向下的,底是向上的,这里就表明了系统栈的分布也是延伸方向是由高地址向低地址extended,在最初的...
分类:
其他好文 时间:
2014-05-20 13:49:05
阅读次数:
399
栈是系统为一个程序所分配的一块固定的区域,函数的局部变量都存在这堆允许程序在运行时动态地申请某个大小的内存空间。使用malloc等内存分配函数获取内存即是从堆中分配内存,而在一个函数体中例如定义一个数组之类的操作是从栈中分配内存所能申请的大小区别:栈:只要栈的剩余空间大于所申请空间,系统将为程序提供...
分类:
其他好文 时间:
2014-05-20 09:23:16
阅读次数:
246
用指针方式实现栈,相对于顺序栈,指针方式不用指定栈的大小,先定义一个栈节点类,再定义一个链栈类,为使链栈类能访问栈节点的元素,设链栈类为栈节点类的友元类。#includeusing
namespace std;class LinkStack;class StackNode //设计每个节点的类型{ ...
分类:
其他好文 时间:
2014-05-20 08:45:15
阅读次数:
288