随笔分类 -  C

摘要:原文链接:http://blog.csdn.net/fz_ywj/article/details/8769825 C语言是一门典型的编译语言,源代码文件需要编译成目标代码文件才能运行。可以认为程序文件就是编译好的目标代码文件。以GCC的编译过程为例。GCC的翻译过程可以分成四个阶段:预处理器、编译器、汇编器、链接器,执行这四个阶段的程序一起构成了一个编译系统。图 1 GCC编译系统(取自《深入理解计算机系统》)1 预处理器 预处理器(cpp)负责对源代码进行文本处理。它根据以字符#开头的命令,修改原始的C代码。如:1. #include 从编译器的内置查找路径的根部开始查找stdio.h文件. 阅读全文
posted @ 2014-01-20 13:38 剑握在手 阅读(863) 评论(0) 推荐(0) 编辑
摘要:1,free的指针应该是通过 malloc calloc realloc 申请过内存的。2,free的带有指针元素的结构体时要注意释放结构体的元素指针。3,对于指向同一块内存的两个或多个指针,如果free只能free其中一个,并且只free一遍,以避免多重释放,释放完后,注意全部置为NULL。 阅读全文
posted @ 2013-10-29 22:24 剑握在手 阅读(320) 评论(0) 推荐(0) 编辑
摘要:static的作用1)保持变量值:在函数体,一个被声明为静态的变量在这一函数中可以维持其值。这句话可能描述不太准确,大家看下面这个例子吧。void staticLocalVar() { static int a = 0; // 运行期时初始化一次, 下次再调用时, 不进行初始化工作 cout<<"a="<<a<<endl; ++a; } int main() { staticLocalVar(); // 第一次调用, 输出a=0 staticL... 阅读全文
posted @ 2013-10-29 22:12 剑握在手 阅读(225) 评论(0) 推荐(0) 编辑

返回顶部↑
点击右上角即可分享
微信分享提示