由于 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 位架构。

有没有我不知道的最佳实践?

最佳答案

你应该只做 IP2 = IP1; ,让编译器处理它。

关于c - C中的IPv6地址复制优化,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/11332108/

10-11 16:29