[英]Union/Structure datatype and bit field referencing speed
使用以下並集typedef,與MyPacket.Field.LB相比,訪問MyPacket.Byte.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;
唯一可以肯定的方法是為多個編譯器優化設置編寫兩個版本的代碼,並在目標系統上對其進行概要分析。 如果您看到明顯的不同,我會感到非常驚訝。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.