最近开始工作了,涉及的是开源C项目,现在正是一个学习过程。本以为信心满满,以为自己C/C++的基础相当扎实,步入工作才发现,菜得不行。 这种菜,是在阅读项目源代码的过程体现出来的。因为实在是看到了太多的陌生的变量声明或函数声明的方式,看得我真的沉迷了,同时也自卑了。 同时也复习了一遍指针,感觉上理解的层次更高了一层,额,应该说往更底层走了,涉及汇编内容了,还有编译一个程序的过程有了新的认识,对于内存的分配有也了更深刻的理解。 虽然让同事说我指针没学好,呵呵,还是虚心接受吧,还好,遇到的是好同事,它们愿意给我讲解,我很高兴。还有一点,我发现,在使用课本上的一些术语与同事进行沟通的时候,发现会互相误解。。。到底是课本太肤浅还是我学得太肤浅导致我的表达不准确呢?随他去吧。 近日,搜罗了很多自己遇到的疑问的回答,并已进行mark,在这里能够进行一些摘抄的笔记,加油! 下面转自一帖子,原址不便放出,希望对大家有所帮助,对于重要话语,我进行摘录,对一些重要句子进行高亮处理。 #include用于在源代码中引用其他的源代码文件 #include有两种写法: #include <stdio.h> // 使用<>时,编译器仅在系统目录下搜索被引用的文件 #include “stdio.h” // 使用””时,编译器除了在系统目录下搜索,还会在当前目录下搜索引用的文件 系统目录包括哪些? 一个是编译器内定的目录,这些目录是内建在编译器内部的,不可改变(如果要追究的话,可以看这个文件gcc/gcc/collect2.c),一般为: /usr/include /usr/local/include /usr/lib/gcc-lib/i386-linux/2.95.2/include /usr/lib/gcc-lib/i386-linux/2.95.2/../../../../include/g++-3 /usr/lib/gcc-lib/i386-linux/2.95.2/../../../../i386-linux/include 可以增加 -nostdinc参数阻止gcc搜索内建路径。 还有一个就是通过-I参数指定的路径 #include的工作原理非常简单,就是将引用文件的内容在#include处展开。 举个例子,有两个文件test.h和main.c /* test.h */ #ifndef TEST_H #define TEST_H #define TEST_STR “This is a … Continue reading →