`
tubaluer
  • 浏览: 1499780 次
文章分类
社区版块
存档分类
最新评论
  • sblig: c / c++ 是不一样的都会输出 100
    j = j++

《C专家编程》笔记6

 
阅读更多

第六章 运动的诗章:运行时数据结构

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专家编程读书笔记(上).pdf

    笔记_C专家编程.pdf

    笔记_C专家编程

    郝斌c语言视频教程笔记.zip

    教程由具有多年开发和培训经验的专家郝斌老师主讲,他在教育领域有着深厚的积累,曾在知名的瑞德学校担任教学组长,并在雅博等公司担任过项目总监,精通C/C++、Java以及数据结构和数据库。 C语言是一种强大的、底层...

    C 专家编程 适合有一定C基础的人看

    《C专家编程》是一本面向有一定C语言基础的读者的书籍,它的目标是帮助这些读者在C编程方面达到专家级别的水准。这本书由彼得·范·德·林登(Peter Van Der Linden)撰写,由徐波谋翻译,首次出版于2002年12月,由...

    嵌入式 C语言 编程 规范 标准工程师笔记

    总的来说,MISRA C标准是嵌入式C语言编程的一个重要里程碑,它为开发者提供了一套严谨的编程规范,有助于消除潜在的软件缺陷,提高嵌入式系统的整体质量和安全性。对于中国嵌入式系统工程师而言,理解和掌握MISRA C...

    尚观培训linux许巍老师关于c语言的课程笔记和讲义

    【尚观培训Linux许巍老师关于C语言的课程笔记与讲义】是针对想学习或深化C语言理解的IT从业者及爱好者的一份宝贵资源。尚观是一家知名的IT培训机构,其提供的课程涵盖了广泛的IT领域,包括嵌入式Linux驱动开发。这份...

    谭浩强老师C语言程序设计PPT及笔记

    而谭浩强老师作为我国计算机教育界的资深专家,在C语言的教学和推广上有着举足轻重的影响力,特别是其为初学者量身打造的《谭浩强老师C语言程序设计PPT及笔记》资源,更是成为了许多编程爱好者的启蒙教材。...

    达内全套笔记

    这套笔记内容全面,涵盖了C、C++、C#、HTML以及JavaScript和数据库等多个基础知识领域,旨在帮助学习者建立起扎实的基础,从而快速入门并掌握编程及数据管理的核心概念。 C语言是IT领域的基石之一,它是一种高效、...

    C语言学习笔记集锦(教程)

    除了K&R的书籍,还有一本《C专家编程》同样值得推荐,特别是对于已经具备一定C语言基础的学习者。这本书深入探讨了C语言的高级主题,如内存管理、指针运算、预处理器等,能够帮助读者进一步提升C语言的运用能力。 #...

    狂神说笔记(最全).zip

    "狂神说笔记"作为标签,表明这是一系列由知名IT专家或博主“狂神”创作的学习资料,旨在帮助读者深入理解和掌握信息技术。 在压缩包中的“笔记”文件很可能包含了多个子文件,这些子文件可能按照不同的主题或技术...

    C语言例题集(源代码,实例,程序,笔记)

    6. **莫锦攀实验程序**:莫锦攀可能是一位教师或专家,他的实验程序提供了实践C语言的平台,可能包括了基础练习到复杂项目的案例,有助于加深对C语言的理解。 7. **AVR单片机应用系统开发典型实例程序**:这部分...

    转MISRA C标准工程师笔记

    MISRA C是一种针对嵌入式系统开发的C语言编程规范,主要目的是增强软件的安全性和可靠性,尤其是在汽车工业和其他对安全性要求极高的领域。MISRA,全称为The Motor Industry Software Reliability Association,是一...

    C语言WORD版(谭浩强)

    【标签】中的“c语言 教程 c 编程 谭浩强”代表了这个压缩包的主要内容,涵盖了C语言学习的各个方面,包括基本的编程语法、编程实践以及与谭浩强教授相关的教学资源。 【压缩包子文件的文件名称列表】只有一个...

    马士兵多线程训练营笔记

    马士兵是一位知名的IT教育专家,他的多线程训练营笔记深入浅出地讲解了这一主题,帮助开发者理解并掌握多线程的精髓。 多线程允许一个程序中有多个执行流同时运行,这样可以提高应用程序的效率和响应性。在Java中,...

    python核心笔记pdf

    Python是一种高级、通用的编程语言,以其简洁明了的语法和强大的功能而受到广大程序员的...通过阅读这份笔记,读者不仅可以掌握Python的基本语法,还能了解到更高级的概念和技术,为成为Python开发专家打下坚实的基础。

    C_sharp_study.rar_Sharp_笔记

    在“C_sharp_study.rar_Sharp_笔记”这个压缩包中,我们可以找到两份文件,分别是"C#学习笔记.txt"和"www.pudn.com.txt"。这两份文件可能包含了作者在学习C#过程中的心得、代码示例和参考资料。 1. "C#学习笔记.txt...

    韦东山二期驱动笔记

    【韦东山二期驱动笔记】是一份针对Linux驱动程序开发的参考资料,由知名Linux技术专家韦东山编撰。这份笔记深入浅出地讲解了Linux内核驱动开发的基础与实践,旨在帮助读者理解和掌握Linux系统下的设备驱动编写技巧。...

    朱有鹏嵌入式Linux课程笔记+跟我一起学MakeFile(陈浩)

    朱有鹏老师是知名的嵌入式Linux教育专家,他的课程笔记为学习者提供了深入浅出的指导,帮助理解并掌握这一领域的核心知识。 在“朱有鹏嵌入式Linux课程笔记”中,你可以期待学习到以下关键知识点: 1. **嵌入式...

    韩顺平笔记 PHP笔记 资料难得 赶紧下载吧

    韩顺平老师是国内知名的IT教育专家,他在编程教学方面有着深厚的造诣和丰富的经验,特别是在PHP领域。他的教学风格深入浅出,注重实践,能够帮助学习者快速掌握PHP的核心概念和技巧。通过他的笔记,你可以了解到PHP...

    ARM嵌入式系统技术笔记-基于LPC2300上

    在软件开发方面,读者可以学习到C语言编程技巧,特别是在嵌入式环境下的优化方法。同时,了解如何使用开发工具,如Keil uVision或者GCC编译器,进行项目配置、编译、链接以及调试。这有助于读者将理论知识转化为实践...

Global site tag (gtag.js) - Google Analytics