linux中gcc-o是什么意思
linux中gcc-o是什么意思详细介绍
在 Linux 中,gcc -o 是 GCC 编译器用于指定输出文件名的选项,常见于编译 C/C++ 代码时。以下是具体说明:
1.
核心作用
-o 是 output(输出) 的缩写,用于显式指定编译后生成的可执行文件或库文件的名称。
不使用 -o 时,GCC 默认生成名为 a.out 的可执行文件(来自 "assembler output")。
2.
常见用法示例
场景 1:单文件编译
bash
gcc hello.c hello./hello
场景 2:多文件编译
bash
gcc main.c utils.c app
场景 3:生成静态库 / 动态库(扩展)
bash
gcc utils.c utils.o
ar rcs libutils.a utils.o
gcc utils.c libutils.so
3.
注意事项
- 必填参数:
-o后必须紧跟目标文件名,否则会报错(如gcc -o hello缺少源文件时,或gcc hello.c -o缺少文件名时)。 - 优先级:若同时指定多个输出(如可执行文件 + 库),需确保命令逻辑正确。
- 适用范围:不仅限于可执行文件,还可用于指定目标文件(
.o)、库文件(.a/.so)等。
4.
总结
gcc -o 的本质是控制编译结果的命名,避免默认的 a.out 导致混淆,尤其适合复杂项目或需要明确区分输出文件的场景。
记忆技巧:-o 即 "output filename",后跟你想要的名字即可。