Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我正在运行一组比较不同的 libc 字符串函数的基准测试。问题是 GCC 和 Clang 正在优化循环中的计算,因为这些函数被标记为“纯”和“常量”。有什么方法可以关闭优化或绕过它?
我解决了!解决方案很讨厌,但它有效:
volatile int x; for (...) { // ... x = (int)f(args); }
我从不使用 x 的值,所以演员表不会成为问题。更好的是,现在我没有收到关于不使用return value of function declared with pure attribute.
return value of function declared with pure attribute