zhcn 编程语言 GCC -o 选项:指定输出文件

GCC -o 选项:指定输出文件

gcc -o选项用于指定输出文件,如果不使用-o 选项,则使用默认的输出文件,例如默认情况下生成的可执行文件的名称为 .out。

gcc -o 命令的语法格式为:

[root@bogon demo]# gcc [-E|-S|-c] [infile] [-o outfile]

方括号[]内的部分可以忽略。

[infile]表示输入文件(即正在处理的文件),可以是源文件、汇编文件或目标文件;[outfile]表示输出文件(即处理的结果)。这可以是预处理文件、目标文件、可执行文件等。

通常情况下,[infile]会包含一个文件,但根据你的实际需要,也可以包含多个文件,表示有多个输入文件(稍后会给出示例)。

使用GCC -o 选项的示例

1)将源文件作为输入,将可执行文件作为输出。也就是说,它完整地编译了整个程序。

$ gcc main.c func.c -o app.out

将main.c和func.c这两个源文件编译成名为app.out的可执行文件。如果不使用 -o 选项,则会生成名为 a.out 的可执行文件。

2)使用源文件作为输入文件,目标文件作为输出文件。也就是说,它只编译,不链接。

$ gcc -c main.c -o ao

将源文件main.c编译为目标文件ao。如果不使用 -o 选项,则会生成名为 main.o 的目标文件。

3)使用源文件作为输入文件,预处理文件作为输出文件。也就是说,仅使用预处理操作。

$ gcc -E main.c -o demo.i

预处理源文件main.c并将结果放入demo.i文件中。如果不使用 -o 选项,则会生成名为 main.i 的预处理文件。

4) 当使用目标文件作为输入并使用可执行文件作为输出时:

$ gcc -c func.c main.c
$ gcc func.o main.o -o app.out

第一个命令只编译,不链接,生成两个目标文件:func.o 和 main.o。第二个命令从两个生成的目标文件生成最终的可执行文件 app.out。如果不使用 -o 选项,则会生成名为 a.out 的可执行文件。
gcc -o选项用于指定输出文件,如果不使用-o 选项,则使用默认的输出文件,例如默认情况下生成的可执行文件的名称为 .out。

gcc -o 命令的语法格式为:

[root@bogon demo]# gcc [-E|-S|-c] [infile] [-o outfile]

方括号[]内的部分可以忽略。

[infile]表示输入文件(即正在处理的文件),可以是源文件、汇编文件或目标文件;[outfile]表示输出文件(即处理的结果)。这可以是预处理文件、目标文件、可执行文件等。

通常情况下,[infile]会包含一个文件,但根据你的实际需要,也可以包含多个文件,表示有多个输入文件(稍后会给出示例)。

使用GCC -o 选项的示例

1)将源文件作为输入,将可执行文件作为输出。也就是说,它完整地编译了整个程序。

$ gcc main.c func.c -o app.out

将main.c和func.c这两个源文件编译成名为app.out的可执行文件。如果不使用 -o 选项,则会生成名为 a.out 的可执行文件。

2)使用源文件作为输入文件,目标文件作为输出文件。也就是说,它只编译,不链接。

$ gcc -c main.c -o ao

将源文件main.c编译为目标文件ao。如果不使用 -o 选项,则会生成名为 main.o 的目标文件。

3)使用源文件作为输入文件,预处理文件作为输出文件。也就是说,仅使用预处理操作。

$ gcc -E main.c -o demo.i

预处理源文件main.c并将结果放入demo.i文件中。如果不使用 -o 选项,则会生成名为 main.i 的预处理文件。

4) 当使用目标文件作为输入并使用可执行文件作为输出时:

$ gcc -c func.c main.c
$ gcc func.o main.o -o app.out

第一个命令只编译,不链接,生成两个目标文件:func.o 和 main.o。第二个命令从两个生成的目标文件生成最终的可执行文件 app.out。如果不使用 -o 选项,则会生成名为 a.out 的可执行文件。