ffi / ffi
- Source
- Commits
- Network (26)
- Issues (15)
- Wiki (14)
- Graphs
-
Tag:
0.5.2
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/ | ||
| |
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.

