Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/147.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ “取消引用类型双关指针将破坏严格的别名规则”警告的解决方案_C++_Linux_Networking_G++ - Fatal编程技术网

C++ “取消引用类型双关指针将破坏严格的别名规则”警告的解决方案

C++ “取消引用类型双关指针将破坏严格的别名规则”警告的解决方案,c++,linux,networking,g++,C++,Linux,Networking,G++,提出了许多解决方案: 我想知道: 就性能而言,attributemay_别名解决方案与union解决方案有何不同?因为两者基本上都要求GCC不要做任何事情 路线优化。 在通过网络处理传入的二进制消息时,是否有更好的解决方案?假设发送方以C结构格式发送数据,并带有压缩属性? 提前感谢。另一个解决方案是不要打破严格的别名规则…?@LightnessRacesinOrbit您是否建议使用非压缩结构作为消息格式?如果是,这意味着发送方和服务器都应该具有相同的体系结构,即64位。不要破坏别名规则,通过ch

提出了许多解决方案:

我想知道:

就性能而言,attributemay_别名解决方案与union解决方案有何不同?因为两者基本上都要求GCC不要做任何事情 路线优化。 在通过网络处理传入的二进制消息时,是否有更好的解决方案?假设发送方以C结构格式发送数据,并带有压缩属性?
提前感谢。

另一个解决方案是不要打破严格的别名规则…?@LightnessRacesinOrbit您是否建议使用非压缩结构作为消息格式?如果是,这意味着发送方和服务器都应该具有相同的体系结构,即64位。不要破坏别名规则,通过char*缓冲区进行memcopy?对,memcpy是另一个选项…我没有在帖子中列出它,因为我觉得它可能比may慢,我记得我确实测量过memcpy和忽略对齐警告,我认为是使用了强制转换。忽略对齐比memcpy快25-75%。