gcc
命令一次性完成编译和链接的整个过程,这样最方便,大家在学习C语言的过程中一般都这么做。实际上,gcc
命令也可以将编译和链接分开,每次只完成一项任务。#include <stdio.h> int main() { puts("C语言中文网"); return 0; }
-c
选项,例如:
gcc -c main.c
就将 main.c 编译为 main.o。打开 demo 目录,就会看到 main.o: 对于微软编译器(内嵌在 Visual C++ 或者 Visual Studio 中),目标文件的后缀为.obj
;对于 GCC 编译器,目标文件的后缀为.o
。-o
选项,例如:
gcc -c main.c -o a.o
这样生成的目标文件的名字就是 a.o。gcc
命令后面紧跟目标文件的名字,就可以将目标文件链接成为可执行文件,例如:
gcc main.o
就将 main.o 链接为 a.out。打开 demo 目录,就会看到 a.out。gcc
命令后面紧跟源文件名字或者目标文件名字都是可以的,gcc
命令能够自动识别到底是源文件还是目标文件:如果是源文件,那么要经过编译和链接两个步骤才能生成可执行文件;如果是目标文件,只需要链接就可以了。-o
选项仍然能够自定义可执行文件的名字,例如:
gcc main.o -o main.out
这样生成的可执行文件的名字就是 main.out。
$ cd demo
$ gcc -c main.c
$ gcc main.o
$ ./a.out
C语言中文网
$
Copyright © 广州京杭网络科技有限公司 2005-2025 版权所有 粤ICP备16019765号
广州京杭网络科技有限公司 版权所有