【发布时间】:2022-01-01 21:07:00
【问题描述】:
我正在通过Julia 后端找到这个
struct _jl_taggedvalue_bits {
uintptr_t gc:2;
};
当我初始化它并查看调试器时,gc 是零初始化的。那么,gc:2的确切含义是什么?
在这里找到: https://github.com/JuliaLang/julia/blob/8c9799530383d571d5beab4e530d86e40a289929/src/julia.h#L95
【问题讨论】:
-
它没有初始化,它是一个局部变量。
-
无关?请参阅C11 6.7.2.1#5:“位域的类型应为
_Bool、signed int、unsigned int或其他一些实现定义的类型的合格或非合格版本。”注意没有uintptr_t -
@pmg,
uintptr_t实现没有定义吗? -
@tstanisl,嗯,是的,但是将 2 位与标识符中包含“
ptr”的类型关联起来感觉不对。 :-)