/homeparams(将寄存器参数复制到堆栈)
强制将传入寄存器的参数写入其在函数入口的堆栈上的位置。
/homeparams
备注
此编译器选项仅适用于 x64 编译器(本机编译和跨平台编译)。
当在 x64 编译中传递参数时,调用约定要求用于参数的堆栈空间,甚至对于在寄存器中传递的参数也要求。有关更多信息,请参见 参数传递。然而,默认情况下,在发布版本中,寄存器参数不会写入已为参数提供的堆栈空间中。这使得调试程序的优化(发布)版本相当困难。
对于发布版本,请使用 /homeparams 以确保您可以调试应用程序。/homeparams 确实意味着性能降低,因为它一定会要求一个时钟周期来将寄存器参数加载到堆栈上。
在调试版本中,堆栈始终用在寄存器中传递的参数填充。
在 Visual Studio 开发环境中设置此编译器选项
打开项目的**“属性页”**对话框。有关详细信息,请参见如何:打开项目属性页。
单击**“C/C++”**文件夹。
单击**“命令行”**属性页。
在**“附加选项”**框中键入编译器选项。
以编程方式设置此编译器选项
- 请参见 AdditionalOptions。