gcc 命令的含义

gcc 命令的含义

我想知道该命令的 gcc -o sample sample.c真正含义是什么以及它在系统中起什么作用。

我知道gcc这是调用 gcc 编译器的命令,但是这里 -o 和文件名(不带扩展名)后跟文件名(带扩展名)是什么意思。

答案1

你的问题

实际上gcc -o sample sample.c

您粘贴的命令gcc会触发编译sample.c。结果,您将获得相同的输出/可执行文件sample

gcc 的手册页解释了这些参数(例如,示例中的 -o 定义了输出文件的名称)。您可以通过运行来打开它man gcc

-o在这里引用了手册页的部分内容

-o 文件

       Place output in file file.  This applies to whatever sort of output
       is being produced, whether it be an executable file, an object
       file, an assembler file or preprocessed C code.

       If -o is not specified, the default is to put an executable file in
       a.out, the object file for source.suffix in source.o, its assembler
       file in source.s, a precompiled header file in source.suffix.gch,
       and all preprocessed C source on standard output.

一般来说

维基百科对 gcc 进行了大量的解释这里

我只引用了开头部分 - 但整篇文章值得一读,并提供了很多额外的链接和参考资料

GNU 编译器集合 (GCC) 是 GNU 项目制作的支持各种编程语言的编译器系统。GCC 是 GNU 工具链的关键组件。自由软件基金会 (FSF) 根据 GNU 通用公共许可证 (GNU GPL) 分发 GCC。GCC 既是工具,也是示例,在自由软件的发展中发挥了重要作用。

GCC 1.0 最初名为 GNU C 编译器,当时它只能处理 C 编程语言,于 1987 年发布。同年 12 月,它被扩展为可以编译 C++。后来开发了 Objective-C、Objective-C++、Fortran、Java、Ada 和 Go 等语言的前端。

GCC 已移植到各种处理器架构,并被广泛用作开发免费和专有软件的工具。GCC 还可用于大多数嵌入式平台,[需要引证] 包括 Symbian(称为 gcce)、AMCC 和基于 Freescale Power Architecture 的芯片。该编译器可以针对各种平台,包括 PlayStation 2 和 Dreamcast 等视频游戏机。

GCC 不仅是 GNU 操作系统的官方编译器,还被许多其他现代类 Unix 计算机操作系统采用为标准编译器,包括 Linux 和 BSD 系列,尽管 FreeBSD 和 OS X 已转向 LLVM 系统。也有适用于 Microsoft Windows 和其他操作系统的版本;GCC 可以为 Android 和 iOS 编译代码。

答案2

GCC是 GNU C(语言)编译器。它用于将用 C 编程语言编写的程序“转换”为计算机上的二进制可执行文件。

语法gcc -o sample sample.c 含义:编译文件sample.c,并命名输出样本。

然后你可以使用<path_to_file>/sample或从目录内启动你编译的程序./sample

编译程序的默认名称是a.out,因此-o您可以使用参数指定所需的输出名称。

相关内容