在 README.EXT 文档(随 Ruby 平台源代码一起提供)中,它提到rb_define_variable
,它接受一个 C 指针VALUE
并将其“连接”到一个 Ruby 全局变量,因此从 Ruby-land 读取/写入变量将访问给定的内存中的位置。
但我需要一些不同的东西:从 C 语言中,我想访问在 Ruby 中定义和初始化的全局变量。我不需要列出所有定义的全局变量——我只想访问给定名称的全局变量的值,并且我想从 C 端进行。
如果一切都失败了,我知道我可以使用rb_eval_string
(这与 Ruby 中的相同eval
),但应该有更好的方法!