4. 「安心・安全・安定・信頼」できるインターネットサービスを
FFIとは
• FFI (A Portable Foreign Function Interface Library)
!
• libffi
• https://sourceware.org/libffi/
!
• ffi をサポートしている⾔言語
• Python, Java, javascript, Common Lisp, Scheme,
Ruby
!3
5. 「安心・安全・安定・信頼」できるインターネットサービスを
ruby-ffi
• https://github.com/ffi/ffi
!
• 上記URLより:
• Intuitive DSL
• Support All C native types
• C structs (also nested), enums and global variables
• Callbacks from C to ruby
• Automatic garbage collection of native memory
!
• FFIを使って、ダイナミックリンクライブラリをruby から
呼べるってこと
!4
11. 「安心・安全・安定・信頼」できるインターネットサービスを
使える型
• 代表的なもの
!9
:char and :uchar - 8 bit signed and unsigned values
:short and :ushort - 16 bit signed and unsigned values
:int and :uint - 32 bit signed and unsigned values
:long_long and :ulong_long - 64 bit signed and unsigned values
:string - C string, NULL terminated.
:pointer - a C pointer
他にも :bool , :size_t, :in_addr_t とかいろいろ
参照: https://github.com/ffi/ffi/wiki/Types