union u{
char ch[41];
int b[10];
}un;
LLVM 编译为此
%union.u = type { [10 x i32], [4 x i8] }
和这个
union un{
struct s{
int a;
float f;
double d;
}st;
int intArr[10];
}uno;
编译为此
%union.un = type { %struct.s, [24 x i8] }
%struct.s = type { i32, float, double }
任何人都可以解释联合类型是如何派生的吗?