【问题标题】:What is the purpose of "-Wa,option" in GCC? [closed]GCC中“-Wa,option”的目的是什么? [关闭]
【发布时间】:2013-05-07 15:50:31
【问题描述】:

如何使用

-Wa,选项

在海湾合作委员会?我可以传递给汇编程序的所有选项是什么?是否有所有 GCC 选项的列表?

例如,我找到了 -Wa,-a,-ad here。什么意思?

【问题讨论】:

  • 你的问题到底是什么?
  • man 3 gcc 怎么样?
  • 我想知道在哪里可以得到我可以传递给汇编程序的所有有效选项。
  • 并且在 man 的第 3 部分没有 gcc 条目
  • @H2CO3:man 1 gcc,或info gcc 获取完整手册(如果已安装),或上网:gcc.gnu.org/onlinedocs/gcc-4.8.0/gcc

标签: c gcc compiler-construction


【解决方案1】:

始终检查Documentation

-Wa,选项
将选项作为选项传递给汇编程序。如果选项包含逗号,则在逗号处将其拆分为多个选项。

因此,在您的情况下,-a-ad 被传递给了汇编器,它们的作用取决于您的汇编器。 Gcc 不知道如何处理特定于系统的汇编器选项,因此给它-Wa 标志让它知道只需传递接下来的任何内容。

您还可以通过man pages 在本地找到文档。要打开 GNU 汇编器的文档,请执行:

$ man 1 as

它会打开:

AS(1)                        GNU Development Tools                       AS(1)

NAME
       AS - the portable GNU assembler.

SYNOPSIS
       as [-a[cdghlns][=file]] [--alternate] [-D]
        [--compress-debug-sections]  [--nocompress-debug-sections]
        [--debug-prefix-map old=new]
        [--defsym sym=val] [-f] [-g] [--gstabs]
        [--gstabs+] [--gdwarf-2] [--gdwarf-sections]
        [--help] [-I dir] [-J]
        [-K] [-L] [--listing-lhs-width=NUM]
        [--listing-lhs-width2=NUM] [--listing-rhs-width=NUM]
        [--listing-cont-lines=NUM] [--keep-locals] [-o
        objfile] [-R] [--reduce-memory-overheads] [--statistics]
        [-v] [-version] [--version] [-W] [--warn]
        [--fatal-warnings] [-w] [-x] [-Z] [@FILE]
        [--size-check=[error|warning]]
        [--target-help] [target-options]
        [--|files ...]
        ...

【讨论】:

  • 我明白了,我通过了这个人,但我的问题是特定于选项 -a 和 -ad 传递给汇编程序
  • 我通过了这个gcc.gnu.org/onlinedocs/gcc,但它没有任何关于要通过的选项
  • @user2359003 - Gcc 是一个编译器,它为您的系统生成汇编文件并调用“正确”的汇编程序。这些标志的作用取决于您的系统/汇编程序,这是您未指定的信息,因此目前无法说出 -a-ad 的作用。如果您更新,则可以提供更多详细信息。
【解决方案2】:

由于这些选项已传递给汇编程序,因此您需要查看手册页中的 as,而不是 gcc

-a 打开汇编输出列表(写入标准输出),而-ad 忽略输出列表中的任何调试指令。

【讨论】:

  • 非常感谢您的回复。
【解决方案3】:

要查看 bash 中任何命令的选项列表,您可以运行以下命令:

man COMMAND

在这种情况下

man gcc

将显示-Wa,option 的含义如下:

将选项作为选项传递给汇编程序。如果选项包含逗号, 它在逗号处分为多个选项。

【讨论】:

  • 我明白了,我通过了这个人,但我的问题是特定于选项 -a 和 -ad 传递给汇编程序,甚至我也通过了这个 gcc.gnu.org/onlinedocs/gcc 但它对要通过的选项一无所知
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2015-01-20
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-11-21
  • 2021-01-25
  • 1970-01-01
相关资源
最近更新 更多