gpt4 book ai didi

c - 在程序没有错误之前,我们是否应该禁用编译器优化?

转载 作者:行者123 更新时间:2023-12-03 16:49:58 26 4
gpt4 key购买 nike

有时编译器优化会隐藏错误;例如:

double val = sin(1.5);

如果启用了编译器优化,尽管未链接数学库,这将编译,因为编译器将计算 sin(1.5) 的值并替换它。

在程序没有错误之前禁用编译器优化是一个好习惯吗?

最佳答案

既然没有人把它写下来作为答案,我就试一试。

Is it a good practice to disable compiler optimization until the program is bug free?

我不会推荐它。相反,我也会定期在 Release模式下测试我的代码(启用优化)。我个人遇到过一些错误,我见过很多这样的情况:代码在 Debug模式下运行良好,但在 Release模式下崩溃或产生奇怪的东西。 (后面的一些错误与堆栈损坏有关。)

你越早意识到你有这样的错误越好。当您对代码内存犹新时,您可能会更容易找到它。

我看到的另一件事是仅在 Debug模式下运行的代码片段中由于副作用而导致的错误。这些显然是开发人员的错误,但您越早发现,就越有可能更轻松地修复它。

除非我需要调试器,否则在 Release模式下开发对我来说似乎有点过头了。在 Debug模式下,您可能会在第三方库中进行许多有用的检查,从而减少您花在调试上的时间。

简而言之:在 Debug模式下开发,但在 Release模式下定期测试。

关于c - 在程序没有错误之前,我们是否应该禁用编译器优化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21319667/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com