提升asio ssl流套接字编译问题

时间:2010-04-29 15:48:46

标签: c++ g++ boost-asio

2 个答案:

答案 0 :(得分:1)

阅读boost wiki解释编译器警告指南

https://svn.boost.org/trac/boost/wiki/Guidelines/WarningsGuidelines

他们有一整节致力于-fstrict-aliasing

  

-fstrict-aliasing - 也由-O2,-O3和-Os打开。告诉编译器可以根据表达式的类型进行某种优化。特别是你有希望通过使用这个标志,一种类型的对象不会与不兼容类型的对象驻留在同一地址。 -fno-strict-aliasing - 关闭此优化。如果这改变了代码的行为,则代码中存在问题。

     

这是试图告诉您,您要求编译器执行未定义的行为,并且它可能无法执行您认为它将执行的操作。随着优化级别的提高,您不喜欢它的可能性会增加。我稍后展示了一个简单的例子,当打开任何级别的优化时,令人惊讶地产生了错误的结果。在你自己的危险中忽略这个警告。您不太可能关心导致的未定义行为。

答案 1 :(得分:0)

我遇到了与gcc-4.4.4(Debian Squeeze)类似的问题。我浏览了与此相关的Boost邮件列表thread。然而,最后我仍然对它的问题感到困惑。无论是GCC还是Boost。 :-S我在代码中使用了-fno-strict-aliasing。