tinycc-devel
[Top][All Lists]
Advanced

[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)




reply via email to

[Prev in Thread] Current Thread [Next in Thread]