c - Ruby 源文件中的 "VALUE"类型是什么?

标签 c ruby

我是 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/

相关文章:

c++ - 为什么 C++11 不像 C99 那样支持指定的初始值设定项列表?

ruby-on-rails - Ruby on Rails 4 fields_for 重复次数

ruby-on-rails - 了解 ruby​​ on rails gemfile 中的组

ruby - 在 Rspec 中测试 STDOUT 输出

c - printf(my_func ,"My string");

c - 理解 htonl() 和 ntohl()

c - 函数将 "wrong"值写入寄存器 - PIC18F

c - 如何在C中使用指向数组的指针进行最小堆排序?

ruby-on-rails - 尝试从 Rails 应用程序在 redmine 上创建问题

ruby - 在不同环境中运行 Cucumber 测试