2012-02-20 14 views
0

以下のユニオン型のtypedefを使用すると、MyPacket.Byte.LBとMyPacket.Field.LBを比較すると速度に違いはありますか?ユニオン/構造体のデータ型とビットフィールド参照速度

typedef union  // create a union to assemble bytes into ints 
{ 
int Packet;  // contains an int 
struct 
    { 
    char HB; 
    char LB;  
    }Byte; 
struct 
    { 
    unsigned field1:4; 
    unsigned field2:2; 
    unsigned field3:1; 
    unsigned field4:1; 
    unsigned LB:8; 
    }Field; 
} packetunion; 

packetunion MyPacket;

答えて

1

確かに知る唯一の方法は、複数のコンパイラ最適化設定のために、両方のバージョンをコード化し、それらをターゲットシステムでプロファイルすることです。あなたが目に見える差を見れば、本当に驚くはずです。

+0

またはコンパイルされたコードを確認してください。 –

関連する問題