【问题标题】:What are the positive and negative forms of a command line option in LinuxLinux中命令行选项的正负形式有哪些
【发布时间】:2019-02-04 20:50:22
【问题描述】:

我是 Linux 新手。我正在尝试编译和执行一个 c++ 文件。当我阅读gcc手册时,我发现手册中有一些我看不懂的东西:

许多选项都有以 -f 或 -W 开头的长名称---for 例如,-fmove-loop-invariants、-Wformat 等。其中大部分 有正面和负面的形式; -ffoo 的否定形式是 -fno-foo。本手册仅记录这两种形式中的一种,以非默认形式为准。

谁能解释一下命令行选项的正负形式是什么?

【问题讨论】:

  • 好吧,我找不到副本。或者,“很容易找到”。 +1 用于提出原始问题。
  • 呃,就像它说的那样...-ffoo-fno-foo。请注意,这是特定于 GCC 的约定。

标签: linux gcc command-line


【解决方案1】:

选项的正数形式启用编译器的某些功能,负数形式禁用该功能。

例如,-fmove-loop-invariants 启用此优化设置。要禁用它,请使用-fno-move-loop-invariants

同时拥有这两种形式很有用,这样您就可以覆盖一个可能已经使用构建脚本或 makefile 中的默认选项集设置的选项。此外,某些选项会同时启用或禁用一组设置,然后您可以使用稍后更具体的选项来撤消部分设置。

有时您可能会使用与默认选项相同的选项,只是为了明确您的意图。

【讨论】:

  • 另外,因为某些标志可以同时更改标志组。就像 -Wunused-parameter 默认是关闭的,所以手册页列出了积极的形式 -Wunused-parameter,但是如果你把 -Wall -Wextra 放在启用的警告中,所以要再次关闭那个警告,你做-Wall -Wextra -Wno-未使用的参数。同样,-O* 优化标志会影响很多 -f 标志。
猜你喜欢
  • 2016-02-06
  • 2016-01-27
  • 2011-02-16
  • 1970-01-01
  • 1970-01-01
  • 2012-06-21
  • 1970-01-01
  • 1970-01-01
  • 2013-12-28
相关资源
最近更新 更多