gpt4 book ai didi

c - GCC 程序集输出 : Get variables declared 'extern'

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

我正在使用 gcc.exe -S -masm=intel -o filename.S filename.c 从 C 代码创建汇编代码。我将一些变量声明为 extern 以允许稍后链接。我期望 nasm 中有类似 extern variable 的东西,但汇编文件中从未提及该变量。

有没有办法检查变量是否为外部变量?或者我可以强制 gcc 将此信息添加到程序集文件中吗?

最佳答案

如果程序集文件中未提及您的 extern 变量,则您可能没有使用该变量。但是,即使您正在使用它,您也不会在汇编中看到类似 .extern varname 的内容。 GNU 汇编程序将所有 undefined symbol 视为外部符号。 GCC 知道这一点并且不会发出 .extern 指令。因此,寻找,呃,“PC 相关”变量(如 mov eax, DWORD PTR varname[rip])。那是你的 extern 变量。

关于c - GCC 程序集输出 : Get variables declared 'extern' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33598312/

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