[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Tinycc-devel] ruby-tcc, a new libtcc wrapper for Ruby
From: |
Mitchell N Charity |
Subject: |
[Tinycc-devel] ruby-tcc, a new libtcc wrapper for Ruby |
Date: |
Mon, 17 Nov 2003 23:43:22 -0500 |
Ruby now has a wrapper for libtcc (thanks to Masahiro Sakai).
http://raa.ruby-lang.org/list.rhtml?name=ruby-tcc
Mitchell
[ruby-tcc-0.1.0/sample/libtcc-test.rb]
# translated from libtcc_test.c
#
# Simple Test program for libtcc
#
# libtcc can be useful to use tcc as a "backend" for a code generator.
#
require 'tcc'
tcc = TCC.new
tcc.set_output_type(TCC::OUTPUT_MEMORY)
tcc.compile_string <<END
int fib(int n)
{
if (n <= 2)
return 1;
else
return fib(n-1) + fib(n-2);
}
int foo(int n)
{
printf("Hello World!\n");
printf("fib(%d) = %d\n", n, fib(n));
printf("add(%d, %d) = %d\n", n, 2 * n, add(n, 2 * n));
return 0;
}
END
tcc.add_symbol("add", DL.callback("III"){|a,b| a + b })
tcc.relocate
foo = tcc.get_symbol("foo", "II")
foo.call(32)
[Prev in Thread] |
Current Thread |
[Next in Thread] |
- [Tinycc-devel] ruby-tcc, a new libtcc wrapper for Ruby,
Mitchell N Charity <=