gpt4 book ai didi

c++ - GCC C++ 编译器是否考虑了 __restrict - 语句?

转载 作者:搜寻专家 更新时间:2023-10-31 00:04:47 25 4
gpt4 key购买 nike

我已经研究了在通过 GCC 编译器编译 C++ 代码时__restricting 某些指针的影响。

结果不仅运行时保持不变,而且可执行文件似乎没有改变,字节大小与以前完全相同。

我的 GCC 版本是

gcc version 4.3.2 [gcc-4_3-branch revision 141291] (SUSE Linux)

虽然它在解析时接受这个 C++ 扩展,但在汇编代码时似乎并不考虑它。所以有一个原因,编译器不知道如何使用这个语义信息,或者处理这个信息被完全禁用。

该代码执行大量数字运算,出于测试目的希望启用它。你能帮忙吗?

最佳答案

restrict 限定符基本上是用户帮助编译器执行某些与别名相关的优化的一种方式。它们只有在代码中已经存在这些优化机会时才会起作用,因此使用 restrict 只是在编译器以前必须使用“更安全”(非优化)代码生成的情况下启用它们.在其他情况下,restrict 将完全无效。

因此,您在代码中添加了一些 restrict 限定符。但是它们中的任何一个是否在它们真正重要的上下文中使用过,即它们实际上给了编译器更多的自由来优化代码?否则,您不应该期望您的代码发生变化。

关于c++ - GCC C++ 编译器是否考虑了 __restrict - 语句?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3523050/

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