gpt4 book ai didi

gcc - GCC 的 "-wrapper"标志有什么作用?

转载 作者:行者123 更新时间:2023-12-01 04:55:47 25 4
gpt4 key购买 nike

来自GCC manual , 有以下整体选项:

-wrapper
Invoke all subcommands under a wrapper program.
The name of the wrapper program and its parameters
are passed as a comma separated list.

gcc -c t.c -wrapper gdb,--args

This will invoke all subprograms of gcc under gdb --args', thus
the invocation of cc1 will be
gdb --args cc1 ...'.

我无法理解示例和标志的用途。

gcc -c t.c 将创建一个 t.o
然后什么?目标文件被发送到 gdb?
还是 gdb 负责创建目标文件(假设添加调试信息)?

最佳答案

是的,用于调试编译器本身。或者以其他方式“跟踪”编译器中正在发生的事情——例如,您可以通过添加执行该操作的程序然后运行 ​​cc1 来打印传递给 cc1 本身的参数。

gdb 不负责生成任何东西,它只是环绕 cc1 whihc 是“编译器本身” - 当你运行 gcc -c t.c 编译器首先运行cpp -o t.i t.c 来预处理t.c 文件。然后它运行 cc1 -o t.s t.i,最后运行 as -o t.o t.s(或类似的东西。使用包装器,它将运行这些命令,例如, gdb --args cc1 -o t.s t.i

编辑:与“真正的”编译相比,这当然要简化得多——有一大堆参数传递给 cc1,等等。

关于gcc - GCC 的 "-wrapper"标志有什么作用?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14039669/

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