网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
6. int main()
7. {
8. printf(" Bettergoal, Better life! /n");
9. return 0;
10. }
第一阶段
在预处理阶段,输入的是C语言源文件,通常为*.c或者*.C,它们一般带有*h之类的头文件。这个阶段主要处理源文件中的#ifdef、#include和#define预处理命令。该阶段会生成一个中间文件*.i
1.生成预处理后的文件hello.i
$ gcc -E hello.c -o hello.i
它通过对源文件hello.c使用E选项来生成中间文件hello.i
第二阶段
在编译阶段,输入的是中间文件*.i,编译后生成汇编语言文件*.s。这个阶段对应的gcc命令如下所示:
2 .生成汇编语言文件hello.s
$ gcc-s hello.i -o hello.s
第三阶段
在汇编阶段,将输入的汇编文件*.s转换成二进制机器代码*.o,这个阶段对应的gcc命令如下所示:
$ gcc -c hello.s-o hello.o
第四阶段
在链接阶段,将输入的二进制机器代码文件*.o(与其他机器代码文件和库文件)汇集成一个可执行的二进制代码文件。
4. 生成可执行文件
$ gcc hello.o -o hello
总结版:
对应以上四个阶段,直接一个命令
gcc hello.c -o hello
最后阶段
5. 运行及结果
$ ./hello
Better goal, Better life!
一以下是C程序一般的编译过程:
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上C C++开发知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**