【问题标题】:What do the following GCC flags mean?以下 GCC 标志是什么意思?
【发布时间】:2022-01-14 17:45:11
【问题描述】:

以下 GCC 标志是什么意思:-D_LNX64i, -I, -ldl -lm。我被要求编译这个文件,互联网正在画一个非常可怕的空白

【问题讨论】:

  • 你检查过man gcc吗?这是获得有关某些标志含义的明确指导的最简单方法。通常,您可以通过键入 /<search term><ENTER> 并使用 n/N 在匹配项之间导航来搜索手册页(如使用 CTRL+F)。这应该让您几乎立即了解这些标志的定义。
  • 你尝试谷歌搜索还是运行g++ --help
  • -D<STUFF> 设置宏 STUFF-ldl 链接到 libdl.so(动态加载器)库 -lm 链接到 libm.so(数学)库。
  • GCC 的选项比某些程序要复杂一些。一些选项是单个字母后跟一个参数,如本例所示。所以在GCC manual你需要查找-D-I-l,会发现它们分别表示“定义宏”、“设置包含目录”、“与库的链接”。这就是您在搜索中找不到-D_LNX64i 的原因,因为-D 选项恰好有_LNX64i 作为参数。这里定义了一个名为_LNX64i的宏。
  • 即使在 Windows 11 上,您也可以访问 gcc 的主页,并访问 gcc 选项的完整文档。

标签: c++ gcc


【解决方案1】:

GCC 标志在编译器的文档中有所描述。完整的 GCC 文档可在线获取。

或者,您可以使用man g++ 命令访问手册页,该手册是该命令的缩写手册。这也适用于其他程序、库、shell 命令。手册页也可在线获取。

互联网正在画一个非常可怕的空白

如果您按字面意思搜索-D_LNX64i -I -ldl -lm,那么在使用大多数搜索引擎时,请务必了解在单词前面加上 - 将排除包含此类单词的页面。当您想要查找包含这些单词的页面时,这会适得其反。该搜索将一无所获,因为您只是排除了搜索结果。您必须在以- 开头的单词周围添加引号。

此外,这是一个了解常用命令行选项模式的机会:--option 等双破折号是一个长选项,通常可以轻松搜索。 -o 等单破折号是一个简短的选项。由于它们的紧凑形式,使用搜索引擎很难找到它们。最好直接查看文档或手册页。

选项后面可以跟选项的值。长选项通常使用空格或= 与值分开,但短选项可以紧跟在值之后,例如-D_LNX64i-ldl。诸如此类的许多值通常是特定于项目的,您不会在 GCC 文档中找到它们。

【讨论】:

  • @eerorika....谢谢你。这就是我恐慌的结果:-|
猜你喜欢
  • 2014-06-04
  • 2014-02-27
  • 2020-09-25
  • 1970-01-01
  • 1970-01-01
  • 2012-11-23
  • 1970-01-01
  • 2011-04-29
  • 2012-11-10
相关资源
最近更新 更多