我在 WP8 C++ 运行时组件中制作了一些 C 风格的函数。每个函数都采用 const 输入和输出数组。调试版本工作得很好,但在发布版本中某些功能工作错误。神奇之处在于简单的事情:这些函数具有相同的接口(interface),并以相同的方式使用指针,但有些函数工作正常,而其他函数工作错误。
在 WP8 SDK Visual Studio 2012 中从调试切换到发布时存在哪些标准问题?
最佳答案
这些问题与任何其他 C/C++ 调试/发布构建配置相同 - 确切的问题将取决于您的调试/发布设置以及代码的用途。
通常:
- 优化器将移动代码和数据和/或删除代码。
- 由于优化器的缘故,发布代码通常也会运行得更快,因此您会注意到竞争条件导致的变化。
您需要习惯在真实设备上的发布配置中进行调试。让相同的代码在模拟器上可靠地运行也将帮助您解决一些竞争条件(因为 x86 模拟器比 ARM 设备更快)。
请参阅“Release /Debug hell, with V-studio C++ project”、“Separate 'debug' and 'release' builds?”。
关于c - WP8 C++ 运行时组件 : Debug vs Release,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17314134/