Table of Contents

Ruby FFI (Foreign Function Interface)

Return to Ruby, Foreign Function Interface (FFI)

Overview

Ruby FFI (Foreign Function Interface) is a gem for Ruby that allows the execution of code written in other languages, such as C, directly from Ruby programs. It provides a way to dynamically load libraries, access their functions, and define custom data types. Ruby FFI eliminates the need for writing C extensions in Ruby and simplifies the process of interfacing with external libraries.

Key Features

Resources

Code Example

```ruby require 'ffi'

module MyLib

 extend FFI::Library
 ffi_lib 'mylib.so'
 # Define function signature
 attach_function :add, [:int, :int], :int
end

  1. Call the C function

result = MyLib.add(5, 3) puts result # Output: 8 ```

In this example, `ffi_lib` loads the shared library `mylib.so`, `attach_function` defines the `add` function with its argument and return types, and then the `add` function is called directly from Ruby.