我是 Ruby 的新手,但是当我搜索 Ruby 的文档时,我也发现了一些 C 源代码,它包含在文档中。在几乎所有这些引用文献中,我都找到了 VALUE
,而且我很确定它是一个 struct
。但是这个 VALUE struct
的属性是什么?它实际上在做什么?
最佳答案
您可以在头文件ruby/include/ruby/internal/value.h
中看到VALUE
的定义| :
#if defined HAVE_UINTPTR_T && 0
typedef uintptr_t VALUE;
...
#elif SIZEOF_LONG == SIZEOF_VOIDP
typedef unsigned long VALUE;
...
#else
# error
#endif
所以值只是一个指向对象的指针。如 Priti 的链接中所述,同一文件中有一个 TYPE()
宏,可用于识别 VALUE
指向的数据类型。
关于c - Ruby 源文件中的 "VALUE"类型是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16419906/