File: README.rdoc

package info (click to toggle)
libffi-ruby 0.6.3debian-2
  • links: PTS, VCS
  • area: main
  • in suites: squeeze
  • size: 1,072 kB
  • ctags: 1,458
  • sloc: ansic: 5,824; ruby: 5,402; xml: 144; sh: 73; makefile: 7
file content (69 lines) | stat: -rw-r--r-- 1,520 bytes parent folder | download
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
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[http://wiki.github.com/ffi/ffi/why-use-ffi].

== 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:

* the samples/ folder
* the examples on the wiki[http://wiki.github.com/ffi/ffi]
* the projects using FFI listed on this page[http://wiki.github.com/ffi/ffi/projects-using-ffi]

== 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.