Type:
Module

A DSL that provides the means to dynamically load libraries and build modules around them including calling extern functions within the C library that has been loaded.

Example

1
2
3
4
5
6
7
8
9
require 'fiddle'
require 'fiddle/import'
 
module LibSum
  extend Fiddle::Importer
  dlload './libsum.so'
  extern 'double sum(double*, int)'
  extern 'double split(double)'
end
dlload
  • References/Ruby on Rails/Ruby/Classes/Fiddle/Fiddle::Importer

dlload(*libs) Instance Public methods Creates an array of handlers for the given

2025-01-10 15:47:30
[]
  • References/Ruby on Rails/Ruby/Classes/Fiddle/Fiddle::Importer

[](name) Instance Public methods Returns the function mapped to name

2025-01-10 15:47:30
import_function
  • References/Ruby on Rails/Ruby/Classes/Fiddle/Fiddle::Importer

import_function(name, ctype, argtype, call_type = nil) Instance Public methods Returns

2025-01-10 15:47:30
import_value
  • References/Ruby on Rails/Ruby/Classes/Fiddle/Fiddle::Importer

import_value(ty, addr) Instance Public methods Returns a new instance of the

2025-01-10 15:47:30
struct
  • References/Ruby on Rails/Ruby/Classes/Fiddle/Fiddle::Importer

struct(signature) Instance Public methods Creates a class to wrap the

2025-01-10 15:47:30
value
  • References/Ruby on Rails/Ruby/Classes/Fiddle/Fiddle::Importer

value(ty, val=nil) Instance Public methods Alias for:

2025-01-10 15:47:30
typealias
  • References/Ruby on Rails/Ruby/Classes/Fiddle/Fiddle::Importer

typealias(alias_type, orig_type) Instance Public methods Sets the type alias

2025-01-10 15:47:30
bind
  • References/Ruby on Rails/Ruby/Classes/Fiddle/Fiddle::Importer

bind(signature, *opts, &blk) Instance Public methods Creates a global method

2025-01-10 15:47:30
sizeof
  • References/Ruby on Rails/Ruby/Classes/Fiddle/Fiddle::Importer

sizeof(ty) Instance Public methods Returns the sizeof ty, using

2025-01-10 15:47:30
extern
  • References/Ruby on Rails/Ruby/Classes/Fiddle/Fiddle::Importer

extern(signature, *opts) Instance Public methods Creates a global method from

2025-01-10 15:47:30