Linux C编程:GCC基础用法与makefile入门

需积分: 7 0 下载量 64 浏览量 更新于2024-09-12 收藏 88KB DOC 举报
本文主要介绍了在Linux环境下,初学者如何使用GCC进行C语言程序的基本编译和链接操作。GCC(GNU Compiler Collection)是开源的C/C++编译器,对于理解程序开发流程至关重要。以下是关键知识点: 1. **GCC命令基础**: - 无选项编译与链接:`gcc test.c` 将源代码文件test.c预处理、汇编、编译并链接成可执行文件(默认为a.out)。 - 选项-o:`gcc test.c -o test` 指定输出文件名,如test。 - 选项-E:`gcc -E test.c -o test.i` 只进行预处理,输出预处理后的源代码到test.i。 - 选项-S:`gcc -S test.i` 将预处理结果汇编成机器码,保存为test.s。 - 选项-c:`gcc -c test.s` 只编译,输出目标文件test.o。 - 无选项链接:`gcc test.o -o test` 直接链接目标文件生成可执行文件。 2. **优化编译**: - 选项-O:`gcc -O1 test.c -o test` 进行编译优化,级别1表示适度优化,时间与性能之间平衡。 3. **多源文件编译**: - 同时编译链接:`gcc testfun.c test.c -o test` 一次性编译多个源文件。 - 分别编译链接:先分别编译每个源文件(如 `gcc -c testfun.c` 和 `gcc -c test.c`),然后链接输出文件(如 `gcc testfun.o test.o -o test`)。这种方法允许单独更新和重新编译修改的部分。 通过这些基本用法,初学者能够建立起对C语言编程和GCC命令的初步理解,逐步掌握从编写、编译、优化到执行的完整流程。后续随着经验的增长,可以进一步探索GCC的更多高级选项和特性,以提升程序的效率和性能。