3

最近は高度に最適化する必要があるため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ビットアーキテクチャに最適であることに注意してください。

わからないベストプラクティスはありますか?

4

1 に答える 1

9

IP2 = IP1;を実行して、コンパイラに処理させる必要があります。

于 2012-07-04T16:00:20.023 に答える