Boost -在构建时关于解引用指针的警告
Boost - warning about dereferencing pointers when building
我正在遵循Boost网站上的"入门"教程。我正在尝试使用以下命令构建单独编译的库:
./bootstrap.sh
然后
./b2
在构建过程中,我收到了很多(像数百)这样的警告:
./boost/...whatever.hpp:linenumber: warning: dereferencing pointer ‘...’ does break strict-aliasing rules
我想知道这是否是我这边的问题,如果我能做些什么来摆脱这些警告?
谢谢。
(Boost 1.48, Ubuntu 10.04.3 LTS)
Cellperformance声明严格混叠是:
[…一个由C(或c++)编译器做出的假设,解引用指向不同类型对象的指针永远不会引用相同的内存位置(即别名彼此)
当启用-fno-strict-aliasing
和优化(-O2
或更高)时,会出现此警告,因为编译器在访问(可能)别名内存时需要更加保守。这导致了更少的优化——编译器不能真正确保元素没有重叠(参见上面的文章中的例子)。
这不是一个你应该担心的警告——Boost开发人员可能已经意识到这一点,并且有很好的理由来解释为什么这样做是可以的。
相关文章:
- C++取消引用指针.为什么会发生变化
- 深层复制具有自引用指针的类
- Visual c ++,使用字符串引用/指针调用 dll 函数
- std::unordered_map::提取引用/指针失效
- 为什么在引用指针时将 const 放在 & 符号的左侧有效,而在右侧则无效?
- 区分接受常量参数的函数引用/指针和与函数参数同名的非常量参数
- 如何在 c++ 中使用带有数学运算的引用/指针?
- 了解通过引用传递取消引用指针时C++堆/堆栈分配
- 取消引用指针并立即为其分配变量,导致分段错误
- 如何获取指向类(而不是对象)的引用/指针
- 将类型参数传递给自引用指针
- 我应该如何定义返回指针的函数?(引用指针与指针指针)
- 在析构函数内取消引用指针时出现分段错误
- 来自引用指针的内存泄漏
- 引用指针后面的值
- 无法取消引用指针
- 引用指针调用成员函数
- 未定义的引用指针的变量模板在clang中功能,而不是GCC
- 取消引用指针以创建数组的副本
- 有关启动引用指针的引用的问题