gpt4 book ai didi

c - 找出给定的 gcc 选项/标志在做什么?

转载 作者:行者123 更新时间:2023-12-04 02:22:50 25 4
gpt4 key购买 nike

我有一个项目,在该项目中,我获得了几个 Makefile,它们也使用 Pro*C 进行预编译器工作。它们必须从 HP-Unix 迁移到 linux 系统。到目前为止没有问题,但在某些方面我无法弄清楚(或者仍然没有找到正确的谷歌关键字)gcc 调用中的一些给定选项/标志在做什么。

考虑以下示例:

FLAGS_C=-Ae -v
FLAGS_PROC=-g +Z -Ae +M2

我没有在手册页中找到关于 -Ae+Z +M2 的任何内容,但只是在 shell 上调用它们表明它们存在 - 但不是他们将做什么或正在等待什么。

从 make 的输出中我只能看到 +Z 或 +M2 似乎在等待一个不存在的目录。

$ gcc +Z 
gcc: +Z: No such file or directory
gcc: no input files

输出之后是:

<command-line>: error: missing '(' after predicate

因为还有一些我还没有看到的 Makefile,我想知道是否有任何好的资源可以帮助我弄清楚未知的选项/标志是什么。

gcc (SUSE Linux) 4.3.4 [gcc-4_3-branch revision 152973]

编辑:正如其他人提到的那样,+Z +M2 可能绝对不是 gcc 选项。因此,我对 gcc +Z 调用的解释可能只是错误的理解。

最佳答案

GCC 文档有一个包含所有数百个选项的概览页面:https://gcc.gnu.org/onlinedocs/gcc/Option-Summary.html

  • -Ae 可能是谓词名称为 e
  • -A 预处理器选项

-A predicate=answer

Make an assertion with the predicate predicate and answer answer. This form is preferred to the older form -A predicate(answer), which is still supported, because it does not use shell special characters.

FLAGS_PROC 似乎不是 gcc 选项。我从未听说过 +Z 或 +M2 之类的任何选项,我的 GCC 拒绝了它们。

它们可能是 HPUX 链接器选项...?

You didn't say which version of HPUX you are using, which may be of interest. The +z/+Z options AFAIK are relevant to HPUX only, not to gcc or binutils. If your gcc is set up the usual way, using gnu as, only the HPUX linker is used from the standard HPUX set of tools. You could check 'man ld' to see if those options are relevant to HPUX ld. Sorry, I am no longer employed where I had access to HPUX.

https://groups.google.com/d/msg/gnu.gcc.help/iWt83RMbt-8/rsAQ14_r-jgJ

关于c - 找出给定的 gcc 选项/标志在做什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26274062/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com