💡
原文中文,约600字,阅读约需2分钟。
📝
内容提要
C和C++中常见的错误是循环可能无限循环,当unsigned int溢出时。使用GCC或Clang时,-Wall和-Wextra不会发出警告。寻找解决方案不要求n是编译时常数,且适用于现有项目。目前的编译器中没有此类警告,已提交功能请求。
🎯
关键要点
- C和C++中常见的错误是循环可能无限循环,当unsigned int溢出时。
- 在Linux中,unsigned int是32位,而size_t是64位,导致特定情况下的无限循环。
- 使用GCC或Clang时,-Wall和-Wextra不会发出关于此问题的警告。
- 寻找的解决方案不要求n是编译时常数,且应适用于现有项目。
- 目前的编译器中没有此类警告,已提交功能请求。
➡️