This repository is private.
All pages are served over SSL and all pushing and pulling is done over SSH.
No one may fork, clone, or view it unless they are added as a member.
Every repository with this icon (
) is private.
Every repository with this icon (
This repository is public.
Anyone may fork, clone, or view it.
Every repository with this icon (
) is public.
Every repository with this icon (
commit 610f8e0819702c18ccd1cc5581c3b680833e94d9
tree b0ac8c182a579c8b1d58d95571219c96399cf22e
parent f7740ad2b2cf28d8cf5f4d6861ef3b8ced2b8fc1
tree b0ac8c182a579c8b1d58d95571219c96399cf22e
parent f7740ad2b2cf28d8cf5f4d6861ef3b8ced2b8fc1
ffi /
| name | age | message | |
|---|---|---|---|
| |
.autotest | Thu Dec 04 15:38:11 -0800 2008 | |
| |
.gitignore | Fri Aug 07 01:52:04 -0700 2009 | |
| |
.hgignore | Fri Jun 05 05:38:54 -0700 2009 | |
| |
History.txt | ||
| |
LICENSE | Wed Oct 29 18:25:22 -0700 2008 | |
| |
README.rdoc | Fri Aug 21 15:26:52 -0700 2009 | |
| |
Rakefile | ||
| |
bench/ | Sun Sep 20 01:35:45 -0700 2009 | |
| |
ext/ | ||
| |
ffi.gemspec | ||
| |
gen/ | Thu May 07 17:52:59 -0700 2009 | |
| |
lib/ | ||
| |
libtest/ | ||
| |
nbproject/ | Fri Sep 18 05:23:54 -0700 2009 | |
| |
ruby-ffi-Makefile.mk | Wed Nov 05 00:51:18 -0800 2008 | |
| |
samples/ | Thu Dec 25 15:11:00 -0800 2008 | |
| |
spec/ | Thu Nov 05 12:48:24 -0800 2009 | |
| |
tasks/ | Thu Nov 05 10:52:29 -0800 2009 |
README.rdoc
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
attach_function :puts, [ :string ], :int
end
MyLib.puts 'Hello boys using libc!'
For less minimalistic and more sane examples you may look at:
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.








