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 (
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 | Tue Oct 06 12:32:49 -0700 2009 | |
| |
LICENSE | Wed Oct 29 18:25:22 -0700 2008 | |
| |
README.rdoc | Fri Aug 21 15:26:52 -0700 2009 | |
| |
Rakefile | Mon Nov 02 17:01:33 -0800 2009 | |
| |
bench/ | Sun Sep 20 01:35:45 -0700 2009 | |
| |
ext/ | Thu Nov 26 21:34:13 -0800 2009 | |
| |
ffi.gemspec | Sat Oct 10 22:55:16 -0700 2009 | |
| |
gen/ | Thu May 07 17:52:59 -0700 2009 | |
| |
lib/ | Tue Nov 24 16:39:28 -0800 2009 | |
| |
libtest/ | Tue Nov 24 16:39:28 -0800 2009 | |
| |
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/ | Fri Nov 27 08:06:28 -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.







