因为memcpy
现在应该高度优化,使用显式循环展开来优化Ipv6地址的副本是否仍然有意义?
#include <netinet/in.h>
struct in6_addr IP_1;
struct in6_addr IP_2;
;
;
IP2.__in6_u.__u6_addr32[0] = IP1.__in6_u.__u6_addr32[0];
IP2.__in6_u.__u6_addr32[1] = IP1.__in6_u.__u6_addr32[1];
IP2.__in6_u.__u6_addr32[2] = IP1.__in6_u.__u6_addr32[2];
IP2.__in6_u.__u6_addr32[3] = IP1.__in6_u.__u6_addr32[3];
请注意,上面的代码最适合32位架构。
我不知道有最好的做法吗?
答案 0 :(得分:9)
你应该做IP2 = IP1;
,让编译器处理它。