'man cc':没有关于 -Wall 和 -g 标志的信息(学习 C 的困难方式)



我正在练习"学习C的艰难方式。额外的信用挑战之一是:

阅读 man cc 以了解有关什么标志的更多信息 - 墙和 -g 做。

我在OSX上,使用man cc打开手册页,但它没有任何关于-Wall-g的信息。但是,我登录了一台运行 Ubuntu 的机器,发现一个更大的cc手册页面确实包含这些信息。

为什么OSX(达尔文?)和Ubuntu的手册页不同?我显然对这些东西一无所知,但我会假设手册页会与软件一起打包,因此无论软件安装在何处都是相同的。

您的 OS X 安装可能使用的是名为 clang 的编译器,而您的 Linux 安装使用的是名为 gcc 的编译器。

因此,OS X 上的手册页可能是由 clang 团队编写的,Linux 安装上的手册页可能是由 gcc 团队编写的。

不过,这两个编译器通常接受相同的命令行参数。

编译器 *nix 手册页现在只给你最基本的知识。编译器链中的控件太多,无法在手册页中提供所有控件。即使--help选项也不会为您提供所有控制权。 clang --help(在OSX上)为您提供大约350行,但clang警告控件的单个列表约为450行...很难计算编译器为您提供的选项数量,但可能有数千个......

对于这样的工具,我鼓励您查看在线手册。

为什么不同?因为编译器链依赖于架构/操作系统/ABI/汇编/链接器等。因此,相同的编译器(例如gcc)在不同的平台上可以有不同的行为;手册应该不同。无论如何,-Wall-g是非常常见和基本的,我很惊讶Wall没有出现在OSX手册中......

最新更新