堆栈的模拟,给定序列,1,2,3,4,...判断堆栈出栈顺序是否合法5 //5个数入栈1 2 3 4 5 //出栈顺序5 4 1 2 3 //出栈顺序0 //5个数的结束6 //6个数的入栈6 5 4 3 2 10 //6个数的结束0 //输入结束数组作栈a栈放目标出栈顺序,让1,2,3,4依次入s...
分类:
其他好文 时间:
2015-05-01 13:15:23
阅读次数:
231
C程序一直由下列部分组成:1)正文段——CPU执行的机器指令部分;一个程序只有一个副本;只读,防止程序由于意外事故而修改自身指令;2)初始化数据段(数据段)——在程序中所有赋了初值的全局变量,存放在这里。3)非初始化数据段(bss段)——在程序中没有初始化的全局变量;内核将此段初始化为0。4)栈——...
分类:
编程语言 时间:
2015-05-01 12:01:09
阅读次数:
187
linux应用开发-多进程程序设计
一 创建进程
fork和vfork的区别
1 fork创建的子进程有自己的数据段和堆栈而vfork创建的子进程跟父进程共享数据段
二 进程退出
父进程能使用return 0和exit(0)而子进程只能使用exit(0)
三 execl和fork的区别
execl不创建子进程,而是覆盖后面的代码段
fork创建子进程,不...
分类:
系统相关 时间:
2015-05-01 10:44:43
阅读次数:
213
20150430 调试分析之 根据内核报错信息栈信息分析错误2015-04-30 Lover雪儿还是沿用上篇文章的程序,继续研究内核报错信息文章地址:http://www.cnblogs.com/lihaiyan/p/4470353.html错误驱动源文件:加载错误驱动程序 1 root@EasyA...
分类:
其他好文 时间:
2015-05-01 10:35:24
阅读次数:
204
6.3.4 为函数调用与返回产生汇编代码
在这一小节中,我们来讨论一下如何为函数调用和函数返回生成汇编代码。函数调用对应的中间指令如下所示:
//中间指令的四元式:
让我们先熟悉一下C函数的调用约定CallingConvention,我们需要把参数从右向左入栈(即从argn到arg1依次入栈),不妨记这些参数所占用的总内...
分类:
其他好文 时间:
2015-05-01 09:28:49
阅读次数:
203
Try语句可以被嵌套。也就是说,一个try语句可以在另一个try块内部。每次进入try语句,异常的前后关系都会被推入堆栈。如果一个内部的try语句不含特殊异常的catch处理程序,堆栈将弹出,下一个try语句的catch处理程序将检查是否与之匹配。这个过程将继续直到一个catch语句匹配成功,或者是...
分类:
编程语言 时间:
2015-05-01 00:33:06
阅读次数:
176
iOS中Block介绍(一)基础一、概述Block是C级别的语法和运行时特性。Block比较类似C函数,但是Block比之C函数,其灵活性体现在栈内存、堆内存的引用,我们甚至可以将一个Block作为参数传给其他的函数或者Block。二、热身先看一个比较简单的Block例子:intmultiplier...
分类:
移动开发 时间:
2015-04-30 19:44:20
阅读次数:
141
问题一 引言 在之前我们讲到过如果保存树根节点到叶子节点之间的路径,其中包含了如何判断一个节点是否是叶子节点,而且用栈保存了路径中的节点,只要遍历一下栈即可,然后用一个深度保存所有遍历深度中的最大值 但仔细想想,这种方法是否过于繁琐,我们其实不需要一个完整的路径,为什么要去用一个栈保留路径呢,我们仅...
分类:
其他好文 时间:
2015-04-30 17:31:12
阅读次数:
156
常量区的值是不可修改的,而栈区的值是可以修改的所以不可以通过*pa来修改a的值#includeusing namespace std;int main(){const int a=5;int b=9;const int* pa=&a;int *const pb=&b;cout<<"a的值是"<<*p...
分类:
其他好文 时间:
2015-04-30 16:04:13
阅读次数:
125
类的方法说白了还是一个函数,因此遵循函数的调用方式,方法过程中,不会为类成员分配堆栈空间,除非方法中有局部变量。但是,有时候方法需要访问类中的成员,怎么做到的呢,原来在调用方法的时候,隐藏传入了一个ecx寄存器,存放了该实例化类的指针。...
分类:
编程语言 时间:
2015-04-30 14:15:33
阅读次数:
124