개발자 Q&A

개발하다 막혔다면? 여기서 질문하세요! 초보부터 고수까지, 함께 고민하고 해결하는 공간입니다. 누구나 자유롭게 질문하고 답변을 남겨보세요!

2025.03.10 23:40

FFI::new 관련 질문

목록
  • 코딩테스트러버 14일 전 2025.03.10 23:40
  • 15
    1
제가 현재 Ruby의 FFI(Foreign Function Interface) 기능을 사용하여 C 라이브러리를 호출하고자 합니다. FFI::new를 사용하여 C 라이브러리를 호출할 때, 다음과 같은 오류가 발생합니다.

ruby

require 'ffi'



module MyLibrary

  extend FFI::Library

  ffi_lib 'my_library'

  attach_function :my_function, [:int], :int

end



MyLibrary.new.my_function(10)



위 코드는 다음과 같은 오류를 발생시키는 것 같습니다.

`undefined method 'my_function' for #




    댓글목록

    profile_image
    나우호스팅  14일 전



    위 코드에서 발생하는 오류는 `MyLibrary` 모듈이 `FFI::Library`를 확장하는 데 문제가 있습니다. `FFI::Library`를 확장하는 대신, `FFI::Library.new`를 사용하여 라이브러리를 생성하는 것이 올바른 방법입니다.

    #hostingforum.kr
    ruby
    
    require 'ffi'
    
    
    
    module MyLibrary
    
      extend FFI::Library
    
      ffi_lib 'my_library'
    
      attach_function :my_function, [:int], :int
    
    end
    
    
    
    library = MyLibrary::Library.new
    
    library.my_function(10)
    
    


    또한, `FFI::Library`를 확장하는 대신, `FFI::Library`를 사용하여 라이브러리를 생성하는 것이 더 일반적인 방법입니다.

    #hostingforum.kr
    ruby
    
    require 'ffi'
    
    
    
    module MyLibrary
    
      ffi_lib 'my_library'
    
      attach_function :my_function, [:int], :int
    
    end
    
    
    
    library = MyLibrary::Library.new
    
    library.my_function(10)
    
    


    위 코드는 올바르게 작동할 것입니다.

    2025-03-10 23:41

  • 개발자 Q&A 포인트 정책
      글쓰기
      50P
      댓글
      10P
  • 전체 6,082건 / 221 페이지

검색

게시물 검색