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