找出函数中变量分配类型的方法

Way to find out allocation type of variables in function

本文关键字:类型 方法 分配 变量 函数      更新时间:2023-10-16

我想找出函数块中变量的存储类型。如何检查编译器是否已将自动变量存储提升为寄存器存储,或者编译器是否接受了用寄存器存储声明的变量?我假设通过查看优化后的obj文件的汇编代码会给我们一个想法。请列出我需要与gcc或cl.exe一起使用的开关以获取此信息?

gcc中的-S开关就是您要查找的开关
参见§3.2控制输出类型的选项(GCC手册)

您可以查看生成的程序集,但无法从程序中以编程方式确定。请注意,GCC会忽略register关键字,除非在尝试获取register存储变量的地址时会发出错误,并且当与GCC特定扩展共同使用时,会将变量强制放入特定寄存器中,以便与内联asm一起使用。不知道微软风投做什么。

相关文章: