Julia中数据类型的二进制表示原理
我预计Julia中数据类型的二进制表示原理,julia,Julia,我预计sizeof(TestA)将为4+8=12 我对幕后的原则感到好奇 为什么TestA和TestB的大小相同 ps:是一个好材料字节对齐就是答案。文件指出: 请注意,所有对象均以4字节的倍数分配,并与平台指针大小对齐 我不熟悉Julia,但我怀疑这是字节对齐。例如,如果在C或C++中定义了结构> ,包含“代码”UTI8GYT 和 UTI32×T ,您将发现在大多数平台上占用64字节的内存,除非使用指令来坚持大小。如果您不确定,但我认为@DavidHoelzer是正确的,正如上面所说:注意,
sizeof(TestA)
将为4+8=12
我对幕后的原则感到好奇 为什么
TestA
和TestB
的大小相同
ps:是一个好材料字节对齐就是答案。文件指出: 请注意,所有对象均以4字节的倍数分配,并与平台指针大小对齐
我不熟悉Julia,但我怀疑这是字节对齐。例如,如果在C或C++中定义了<代码>结构> <代码>,包含“代码”UTI8GYT 和
注意,所有对象都以4字节的倍数分配,并与平台指针大小对齐。
。如果您需要压缩结构,您可以尝试:一般来说,Julia尝试匹配C结构对齐规则,以便可以在Julia中镜像C结构并来回传递值。
julia> type TestA
a::Int32
b::Int64
end
julia> type TestB
a::Int64
b::Int64
end
julia> sizeof(TestA),sizeof(TestB)
(16,16)