C++ gcc将浮点分配到堆栈中,而不是全局rdata
我想让我的float变量在堆栈内部分配,而不是在rdata部分 守则:C++ gcc将浮点分配到堆栈中,而不是全局rdata,c++,gcc,stack,C++,Gcc,Stack,我想让我的float变量在堆栈内部分配,而不是在rdata部分 守则: float f1 = 1.0f; if (f1 > 100.0f) 这将在rdata部分生成数字“100.0f” 如何使gcc将此数字分配到堆栈中而不是全局?请与您正在使用的gcc命令行共享一个完全可复制的示例。100.0f是常量,来源是rdata。你期待什么?那是哪个站台?在许多架构中,这些架构很可能只是直接嵌入到指令中,这正是我想要的,而不是在rdata节中分配它,我希望它在堆栈或指令中分配它。(a)
float f1 = 1.0f;
if (f1 > 100.0f)
这将在rdata部分生成数字“100.0f”
如何使gcc将此数字分配到堆栈中而不是全局?请与您正在使用的gcc命令行共享一个完全可复制的示例。100.0f是常量,来源是rdata。你期待什么?那是哪个站台?在许多架构中,这些架构很可能只是直接嵌入到指令中,这正是我想要的,而不是在rdata节中分配它,我希望它在堆栈或指令中分配它。(a)它有什么区别,以及(b)编译器做它认为最好的事情。如果您想猜测编译器,您可以修改其代码生成或在汇编程序中编写。我想不出值100.0f的位置会对标准一致性程序产生任何影响。事实上,大多数程序都很难说出100.0f的位置。