第一章
对于我来说,我认为第一章比较重要的部分在于2点
-
C++的发展:即现在普遍的两个C++标准——1.C++98 2.C++11
-
程序是如何运行起来的:源代码——编译器——目标代码——连接程序——可执行代码。这里我认为根据gcc的编译过程来理解会比较好,在这里简单的复习一下gcc
- 首先先着手与几个重要的文件含义:.c,.cc——源文件,.i,.ii——不需要预处理的源代码,.S(大写)需要预处理的汇编代码,.s(小写)不需要预处理的汇编代码,.o目标文件,.a——静态看文件,.so动态库文件。
- 那么实际上编译的顺序是:由.c或.cc到.i或.ii到.s再到.o最后输出可执行文件,这里经过的过程由源文件到目标文件的过程为编译,而由目标文件到可执行文件的过程为连接。其实更好理解 的意思是,编译过程中会检查你的语法错误,而连接过程则是将你写的各种库,头文件连接起来。(我们往往会发现在使用gcc -c -o生成.o文件的时候会报语法错误,而gcc -o生成可执行文件的时候会发现找不到库)
- gcc命令:
gcc -E xx.c -o xx.i(生成.i文件) gcc -S xx.i -o xx.s(生成.s文件) gcc -c xx.s -o xx.o(生成目标文件), gcc xx.o -o xx(生成可执行文件) gcc -c xx.c -o xx.o(直接生成目标文件,这个比较常用)
这里还有一个非常重要的点关于Makefile与CMake,我打算先将C++复习完再做复习