ruby-c-extension

    1

    1답변

    저는 루비 스레드가 아닌 루비 스레드에서 C++ 코드로 좀 더 큰 루비 데이터 구조를 만들어야합니다. 스택에서 생성 된 루비 객체는 루비 GC가 수집하지 못하도록 특별히 처리해야합니까? 객체가 루비 또는 루비가 아닌 스레드에서 만들어지면 어떤 차이가 있습니까? 예 : VALUE h = rb_hash_new(); VALUE k = rb_str_new2("f

    1

    3답변

    내 사용자 정의 컨트롤러, 모델,보기 모음, 헬퍼 및 내 작업과 관련된 레일 관리 응용 프로그램에 필요한 특정 사용자 관리 기능을 캡슐화하는 기타 항목이 있습니다. 내가 원하는 것은 내 모든 사용자 지정 항목을 새로운 Rails 응용 프로그램에 신속하게 추가 할 수있는 확장 기능을 만드는 것입니다. Ruby on Rails의 새로운 기능이지만, 나는 보석,

    4

    1답변

    Ruby 용 C++ 확장을 컴파일하려고하는데 컴파일이 오류를 반환하지 않지만 제대로 컴파일되지 않는 것 같습니다. 내가 도대체 ​​뭘 잘못하고있는 겁니까? #include <iostream> #include <ruby.h> extern "C" VALUE cFoo; void Init_foo(){cFoo = rb_define_class("Foo", r

    1

    1답변

    Ruby 용 C++ 확장을 작성하고 Ruby 배열 객체에서 Ruby 문자열 객체를 추출하고이를 C/C++ 문자열 객체. #include <iostream> #include <ruby.h> VALUE bar_func(VALUE self, VALUE ary){ std::string s = StringValuePtr(rb_ary_entry(ary,

    1

    1답변

    C++ std::string 개체를 Ruby VALUE 개체로 변환하려면 어떻게해야합니까? rb_str_new2(c_string)을 시도했지만 작동하지 않았습니다. 나는 함수를 VALUE foo(){return rb_str_new2(c_string);}; 이 그 오류 메시지가 있습니다 : cannot convert ‘std::string {aka std

    3

    1답변

    Ruby C API에서 심볼 평등을 테스트하는 방법을 찾고 있습니다. 예상대로이 방법이 작동하지 않는,보기의 루비 관점에서 static VALUE test_symbol_equality(VALUE self, VALUE symbol) { if (rb_intern("test") == symbol) { return Qtrue; } els

    6

    1답변

    나는 내 자신의 C 코드에서 루비 코드를 호출하고 싶다. 예외가 발생하는 경우, 내가 호출하는 루비 코드를 rb_protect해야합니다. rb_protect은 다음과 같습니다 VALUE rb_protect(VALUE (* proc) (VALUE), VALUE data, int * state) 그래서 proc는 VALUE 인수를하고 VALUE을 반환하는

    1

    1답변

    시스템 호출 용 루비 C 바인딩과 루비 래퍼의 주요 차이점은 무엇입니까? 문맥에 대한 나의 질문에, 나는 Git 버전 제어 기능을 Ruby on Rails 응용 프로그램에 많이 포함시키고 싶다. 이 작업에 접근 할 때 yajl-ruby과 같은 Ruby C 바인딩으로 구현 된 라이브러리와 시스템 콜용 Ruby 래퍼 인 git Ruby Gem과 같은 Ruby

    0

    1답변

    c에서 rb_function (예 : rb_ivar_get)을 재정의하는 방법을 알아 내는데 문제가 있습니다. require 'metaobject' class Tracker < MetaObject attr_accessor :ivar def initialize @ivar = nil end def meta_

    2

    1답변

    루비에 대한 C-Extension을 만들면서 약간의 문제가 생겼습니다. 루비 (1.9.1)가 내부적으로 문자열 (및 모든 인코딩 - 물건)을 처리하는 방법에 대해 궁금합니다. 내가 "o" 같은 문자열을 가지고, 내가 (VALUE와 같은) C-함수에 문자열을 전달하면 , 나는 RSTRING_PTR() 및 매크로 RSTRING_LEN()를 사용하여 매우 쉽게