/homeparams(将寄存器参数复制到堆栈)

更新:2007 年 11 月

强制将在寄存器中传递的参数写入它们在堆栈上函数入口上的位置。

/homeparams

备注

此编译器选项仅用于 x64 编译器(本机编译和跨平台编译)。

当参数在 x64 编译中传递时,调用约定要求参数(甚至在寄存器中传递的参数)的堆栈空间。有关更多信息,请参见参数传递。然而,默认情况下,在发布版本中,寄存器参数不会写入已为参数提供的堆栈空间中。这使得调试程序的优化(发布)版本相当困难。

对于发布版本,请使用 /homeparams 以确保您可以调试应用程序。/homeparams 确实意味着性能降低,因为它一定要求一个时钟周期来将寄存器参数加载到堆栈上。

在调试版本中,堆栈始终用在寄存器中传递的参数填充。

在 Visual Studio 开发环境中设置此编译器选项

  1. 打开此项目的“属性页”对话框。有关详细信息,请参见如何:打开项目属性页

  2. 单击“C/C++”文件夹。

  3. 单击“命令行”属性页。

  4. 在“附加选项”框中键入编译器选项。

以编程方式设置此编译器选项

请参见

参考

编译器选项

设置编译器选项