10 2012 档案
摘要:静态区:保存自动全局变量和static 变量(包括 全局和局部static变量)。静态区的内容在整个程序的生命周期内都存在,由编译器在编译的时候分配。栈:保存局部变量和函数形参。栈上的内容只在函数的范围内存在,当函数运行结束,这些内容也会自动被销毁。其特点是效率高,但空间大小有限。堆:由malloc 系列函数或new 操作符分配的内存。其生命周期由free 或delete 决定。堆是不连续的内存区域。这是由于系统是用链表来存储的空闲内存地址的,自然是不连续的,而链表的遍历方向是由低地址向高地址。堆的大小受限于计算机系统中有效的虚拟内存 。由此可见,堆获得的空间比较灵活,也比较大。
阅读全文
摘要:C语言中位操作非常基础,也很重要,用好了可以很有用。讲一下与(&)操作和或(|)操作有一个数 0101 0101(B,二进制)0101 0101 & 0000 1111 = 0000 0101;0101 0101 | 0000 1111 = 0101 1111;可以看出,& 操作保留了1对应的位,0对应的位变0;| 操作保留了0对应的位,1对应的位变1。我做嵌入式开发,调程序有时喜欢用板上的LED灯来显示程序运行状态。如果是单线程的,这很好办,只需要在不同的代码后面插入LED状态就行了,比如8个LED灯,这样都可以有255种状态显示了。但如果是多线程的,就不一样了。想同
阅读全文
摘要:一片薄薄的钢片,按照PCB上的表面贴焊盘来刻孔,让它放在PCB上,刚好可以露出焊盘。用刀片把锡膏往钢网上一刮,然后拿起钢网,于是PCB上的焊盘上就有锡膏了,然后再贴料过炉。钢网的厚度直接影响刮上去的锡膏厚度。
阅读全文