嵌入式LinuxC语言(三)——指针与函数指针对函数的功能有巨大的贡献,指针能够将数据传递给函数,并且允许函数对数据进行修改。指针对于函数的作用主要有两方面:将指针传递给函数和声明函数指针。一、程序的栈和堆程序的栈和堆是C语言程序运行的运行时元素。1、程序栈程序栈..
分类:
编程语言 时间:
2016-06-16 00:03:17
阅读次数:
336
1.原理 1.1block类型 a.全局bock块 贯彻整个程序 b.栈块 存在于栈内存中,作用域中使用 c.堆块 自行管理其内存 1.2定义 类函数,闭包 注*:1.block捕获块中出现的外部变量 2.栈块copy之后会形成堆块 3.__weak(ARC)或__block(MRC)来避免循环引用 ...
分类:
其他好文 时间:
2016-06-15 16:02:28
阅读次数:
188
函数调用另一个词语表示叫作过程。一个过程调用包括将数据和控制从代码的一部分传递到另一部分。另外,它还必须在进入时为过程的局部变量分配空间,并在推出时释放这些空间。而数据传递,局部变量的分配和释放通过操纵程序栈来实现。栈帧也叫过程活动记录,是编译器用来实现过..
分类:
其他好文 时间:
2016-06-12 03:39:24
阅读次数:
207
昨天刚实现了栈的一些基本操作,今天就来实现一点栈的应用把!首先,写一点比较简单的:1.逆波兰表达式的计算。在通常的表达式中,二元运算符总是置于与之相关的两个运算对象之间,这种表示法也称为中缀表示。逆波兰表达式也称为后缀表达式。比如:两种表达式如果在程序中运行..
分类:
其他好文 时间:
2016-04-12 07:39:30
阅读次数:
167
预备知识: ①栈:计算机系统中是指一块采用栈式管理的内存区域,栈的增长方向是从高地址空间向低地址空间增长 ②汇编指令call:将返回地址入栈,并跳转到被调用过程的起始处 ③汇编指令ret:从栈中弹出返回地址,并跳转到这个位置 IA32(x86)通过程序栈来支持过程调用。机器用栈来传递过程参数(函数参
分类:
编程语言 时间:
2016-02-26 00:22:59
阅读次数:
282
深入理解计算机操作系统:深入理解计算机操作系统——第3章:程序编码,过程调用(程序栈)深入理解计算机操作系统——第3章:数组,异质的数据结构,指针深入理解计算机操作系统——第7章:静态链接深入理解计算机操作系统——第8章:异常深入理解计算机操作系统——第8章:进程深入理解计算机操作系统——第8章:进...
分类:
其他好文 时间:
2015-09-02 14:46:28
阅读次数:
177
**书接上回**(六):中断上下文当执行一个中断处理程序的时候,内核处于中断上下文中.中断上下文由于没有后备进程,所以不可以睡眠,同时中断上下文具有严格的时间限制,因为他打断了其他代码.中断处理程序栈的设置是一个配置选项.原来的时候,中断处理程序共享所中断进程的内核栈,大小是两页的大小,即在32位系统上是8KB,在64位系统上是16KB.现在每一个中断处理程序都有自己的一个中断栈,大小是原来的一半,...
分类:
其他好文 时间:
2015-07-13 10:22:19
阅读次数:
236
程序栈 说到堆栈帧,你得先说说程序栈。 记忆功能程序堆栈区是支持操作,通常共享堆。程序栈通常占领内存区域的下部,而堆用的是上部。 程序栈存放栈帧,栈帧有时候也称为活跃记录或活跃帧。栈帧存放函数參数和局部变量。堆存放动态内存。 调用函数时,函数的栈帧被推到栈上。栈向上长出一个栈帧。当函数终止时,其栈帧...
分类:
编程语言 时间:
2015-07-08 22:26:21
阅读次数:
139