Ruby 플랫폼 소스와 함께 제공되는 README.EXT 문서에는 VALUE
에 대한 C 포인터를 가져 와서 Ruby 전역 변수에 "연결"하여 Ruby-land에서 변수를 읽고 쓰는 것 (rb_define_variable
)이 언급되어 있습니다 메모리의 지정된 위치에 액세스합니다.내부 C API를 사용하여 Ruby 전역 변수를 읽는 방법?
하지만 조금 다른 것이 필요합니다. C-land에서 루비에서 정의되고 초기화 된 전역 변수에 액세스하려고합니다. 정의 된 모든 전역 변수를 나열 할 필요는 없습니다. 단지 이름을 가진 전역 변수의 값에 액세스하기를 원하며 C 측에서 수행하려고합니다.
다른 모든 방법이 실패 할 경우 rb_eval_string
(Ruby에서 eval
과 동일 함)을 사용할 수 있지만 더 좋은 방법이 있어야합니다.
니스! 감사! 나는 "글로벌"과 "변수"에 대해 grepping을 시도했지만 아무 것도 찾지 못했습니다 ... –