C++ “取消引用类型双关指针将破坏严格的别名规则”警告的解决方案
提出了许多解决方案: 我想知道: 就性能而言,attributemay_别名解决方案与union解决方案有何不同?因为两者基本上都要求GCC不要做任何事情 路线优化。 在通过网络处理传入的二进制消息时,是否有更好的解决方案?假设发送方以C结构格式发送数据,并带有压缩属性?C++ “取消引用类型双关指针将破坏严格的别名规则”警告的解决方案,c++,linux,networking,g++,C++,Linux,Networking,G++,提出了许多解决方案: 我想知道: 就性能而言,attributemay_别名解决方案与union解决方案有何不同?因为两者基本上都要求GCC不要做任何事情 路线优化。 在通过网络处理传入的二进制消息时,是否有更好的解决方案?假设发送方以C结构格式发送数据,并带有压缩属性? 提前感谢。另一个解决方案是不要打破严格的别名规则…?@LightnessRacesinOrbit您是否建议使用非压缩结构作为消息格式?如果是,这意味着发送方和服务器都应该具有相同的体系结构,即64位。不要破坏别名规则,通过ch
提前感谢。另一个解决方案是不要打破严格的别名规则…?@LightnessRacesinOrbit您是否建议使用非压缩结构作为消息格式?如果是,这意味着发送方和服务器都应该具有相同的体系结构,即64位。不要破坏别名规则,通过char*缓冲区进行memcopy?对,memcpy是另一个选项…我没有在帖子中列出它,因为我觉得它可能比may慢,我记得我确实测量过memcpy和忽略对齐警告,我认为是使用了强制转换。忽略对齐比memcpy快25-75%。