### Home Classes Methods

### Files

- History.txt
- README.rdoc

### Class Index

Quicksearch

- FFI
- FFI::AutoPointer
- FFI::AutoPointer::CallableReleaser
- FFI::AutoPointer::DefaultReleaser
- FFI::AutoPointer::Releaser
- FFI::ConstGenerator
- FFI::ConstGenerator::Constant
- FFI::Enum
- FFI::Enums
- FFI::Generator
- FFI::Generator::Task
- FFI::IO
- FFI::Library
- FFI::ManagedStruct
- FFI::NotFoundError
- FFI::Platform
- FFI::PlatformError
- FFI::Pointer
- FFI::StrPtrConverter
- FFI::Struct
- FFI::Struct::ManagedStructConverter
- FFI::StructGenerator
- FFI::StructGenerator::Field
- FFI::StructLayout
- FFI::StructLayout::Enum
- FFI::StructLayout::InnerStruct
- FFI::StructLayout::Mapped
- FFI::StructLayoutBuilder
- FFI::TypesGenerator
- FFI::Union
- FFI::VariadicInvoker

No matching classes.

ruby-ffi

    by Wayne Meissner
    http://wiki.github.com/ffi/ffi

## DESCRIPTION:

Ruby-FFI is a ruby extension for programmatically loading dynamic libraries, binding functions within them, and calling those functions from Ruby code. Moreover, a Ruby-FFI extension works without changes on Ruby and JRuby. Discover why should you write your next extension using Ruby-FFI here.

## FEATURES/PROBLEMS:

- It has a very intuitive DSL

- It supports all C native types

- It supports C structs (also nested), enums and global variables

- It supports callbacks

- It has smart methods to handle memory management of pointers and structs

## SYNOPSIS:

    require 'ffi'

    module MyLib
      extend FFI::Library
      ffi_lib 'c'
      attach_function :puts, [ :string ], :int
    end

    MyLib.puts 'Hello boys using libc!'

For less minimalistic and more sane examples you may look at:

- the samples/ folder

- the examples on the wiki

- the projects using FFI listed on this page

## REQUIREMENTS:

- You need a sane building environment in order to compile the extension.

## DOWNLOAD/INSTALL:

From rubyforge:

    [sudo] gem install ffi

or from the git repository on github:

    git clone git://github.com/ffi/ffi.git
    cd ffi
    rake gem:install

## CREDITS:

Special thanks to:

- Yehuda Katz

- Luc Heinrich

- Andrea Fazzi

- Mike Dalessio

- Hongli Lai

- Evan Phoenix

- Aman Gupta

- Beoran

## LICENSE:

See LICENSE file.

[Validate]

Generated with the Darkfish Rdoc Generator 2.