【发布时间】: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 选项的完整文档。