第六章 运动的诗章:运行时数据结构
a.out 它是assembler output 的缩写形式;
a.out 这个名字是unix “没什么理由,但我们就是这么做的”思维的一例;
超级块(superblock unix 文件系统中的基础数据结构)就是用下面这个神奇数字唯一标识的
#define PS_MAGIC 0x011954 这个数字式Berkeley fast 文件系统的实现者的生日;
在UNIX中,段标识一个二进制文件相关的内容块;
局部变量并不进入a.out,它们在运行时创建;
堆栈段有三个主要用途:1 为函数内部声明的局部变量提供存储空间;2 进行函数调用是,堆栈存储与此相关的一些维护信息; 3 堆栈也可以被用作暂时存储区;
以上小型测试程序,可以发现你的系统堆栈的大致位置;
C语言中所有函数在词法层次中都是位于最顶层的;
指针失去了有效性(引用不存在的东西),被称为“悬垂指针(dangling pointer)”;
唯一能用的auto的地方就是使你的声明更加清楚整齐;
goto 语句不能跳出C语言当前的函数(这也是longjmp 取名的由来,它可以跳得很远,甚至可以调到其他文件的函数中);
setjmp 和longjmp 在C++ 中变异为更为普通的异常处理机制“catch”和“throw”;
在unix中,当进程需要更多空间时,堆栈会自动生长。程序员可以想象堆栈是无限大的。这是unix胜过其他操作系统如MS-DOS的许多优势之一;
分享到:
相关推荐
C专家编程读书笔记(上).pdf
笔记_C专家编程
教程由具有多年开发和培训经验的专家郝斌老师主讲,他在教育领域有着深厚的积累,曾在知名的瑞德学校担任教学组长,并在雅博等公司担任过项目总监,精通C/C++、Java以及数据结构和数据库。 C语言是一种强大的、底层...
《C专家编程》是一本面向有一定C语言基础的读者的书籍,它的目标是帮助这些读者在C编程方面达到专家级别的水准。这本书由彼得·范·德·林登(Peter Van Der Linden)撰写,由徐波谋翻译,首次出版于2002年12月,由...
总的来说,MISRA C标准是嵌入式C语言编程的一个重要里程碑,它为开发者提供了一套严谨的编程规范,有助于消除潜在的软件缺陷,提高嵌入式系统的整体质量和安全性。对于中国嵌入式系统工程师而言,理解和掌握MISRA C...
【尚观培训Linux许巍老师关于C语言的课程笔记与讲义】是针对想学习或深化C语言理解的IT从业者及爱好者的一份宝贵资源。尚观是一家知名的IT培训机构,其提供的课程涵盖了广泛的IT领域,包括嵌入式Linux驱动开发。这份...
而谭浩强老师作为我国计算机教育界的资深专家,在C语言的教学和推广上有着举足轻重的影响力,特别是其为初学者量身打造的《谭浩强老师C语言程序设计PPT及笔记》资源,更是成为了许多编程爱好者的启蒙教材。...
这套笔记内容全面,涵盖了C、C++、C#、HTML以及JavaScript和数据库等多个基础知识领域,旨在帮助学习者建立起扎实的基础,从而快速入门并掌握编程及数据管理的核心概念。 C语言是IT领域的基石之一,它是一种高效、...
除了K&R的书籍,还有一本《C专家编程》同样值得推荐,特别是对于已经具备一定C语言基础的学习者。这本书深入探讨了C语言的高级主题,如内存管理、指针运算、预处理器等,能够帮助读者进一步提升C语言的运用能力。 #...
"狂神说笔记"作为标签,表明这是一系列由知名IT专家或博主“狂神”创作的学习资料,旨在帮助读者深入理解和掌握信息技术。 在压缩包中的“笔记”文件很可能包含了多个子文件,这些子文件可能按照不同的主题或技术...
6. **莫锦攀实验程序**:莫锦攀可能是一位教师或专家,他的实验程序提供了实践C语言的平台,可能包括了基础练习到复杂项目的案例,有助于加深对C语言的理解。 7. **AVR单片机应用系统开发典型实例程序**:这部分...
MISRA C是一种针对嵌入式系统开发的C语言编程规范,主要目的是增强软件的安全性和可靠性,尤其是在汽车工业和其他对安全性要求极高的领域。MISRA,全称为The Motor Industry Software Reliability Association,是一...
【标签】中的“c语言 教程 c 编程 谭浩强”代表了这个压缩包的主要内容,涵盖了C语言学习的各个方面,包括基本的编程语法、编程实践以及与谭浩强教授相关的教学资源。 【压缩包子文件的文件名称列表】只有一个...
马士兵是一位知名的IT教育专家,他的多线程训练营笔记深入浅出地讲解了这一主题,帮助开发者理解并掌握多线程的精髓。 多线程允许一个程序中有多个执行流同时运行,这样可以提高应用程序的效率和响应性。在Java中,...
Python是一种高级、通用的编程语言,以其简洁明了的语法和强大的功能而受到广大程序员的...通过阅读这份笔记,读者不仅可以掌握Python的基本语法,还能了解到更高级的概念和技术,为成为Python开发专家打下坚实的基础。
在“C_sharp_study.rar_Sharp_笔记”这个压缩包中,我们可以找到两份文件,分别是"C#学习笔记.txt"和"www.pudn.com.txt"。这两份文件可能包含了作者在学习C#过程中的心得、代码示例和参考资料。 1. "C#学习笔记.txt...
【韦东山二期驱动笔记】是一份针对Linux驱动程序开发的参考资料,由知名Linux技术专家韦东山编撰。这份笔记深入浅出地讲解了Linux内核驱动开发的基础与实践,旨在帮助读者理解和掌握Linux系统下的设备驱动编写技巧。...
朱有鹏老师是知名的嵌入式Linux教育专家,他的课程笔记为学习者提供了深入浅出的指导,帮助理解并掌握这一领域的核心知识。 在“朱有鹏嵌入式Linux课程笔记”中,你可以期待学习到以下关键知识点: 1. **嵌入式...
韩顺平老师是国内知名的IT教育专家,他在编程教学方面有着深厚的造诣和丰富的经验,特别是在PHP领域。他的教学风格深入浅出,注重实践,能够帮助学习者快速掌握PHP的核心概念和技巧。通过他的笔记,你可以了解到PHP...
在软件开发方面,读者可以学习到C语言编程技巧,特别是在嵌入式环境下的优化方法。同时,了解如何使用开发工具,如Keil uVision或者GCC编译器,进行项目配置、编译、链接以及调试。这有助于读者将理论知识转化为实践...