TCC4JavaTinyCC的Java綁定版本
TCC4Java是TinyCC(也叫做TCC,一個神奇的C編譯器)的Java綁定,讓Java支持使用C作為腳本語言。
TCC4Java支持以下操作系統(tǒng):
Windows x86/x64
Linux x86/x64/arm
Mac OS X
Debian kFreeBSD x86/x64
FreeBSD x86/x64
NetBSD x86/x64
DragonFlyBSD x86/x64
在以下系統(tǒng)中測試過:
Windows XP SP3 x86
Windows 7 SP1 x86
Ubuntu 12.04 x86/x64
Debian Wheezy Raspbian 2014-01-07
Mac OS X 10.7
Debian kFreeBSD 7.5.0 x86/x64
FreeBSD 9.0 x86/x64 (The FreeBSD based os such as GhostBSD, PC-BSD, ArchBSD, MidnightBSD are also supported)
NetBSD 6.1.4 x86/x64
DragonFlyBSD 3.6.2 x86/x64
簡單的例子:
import java.io.IOException;
import cn.com.tcc.State;
import cn.com.tcc.TCC;
public class HelloTCC {
public static void main(String[] args) throws IOException {
TCC.init("./tcc/");
State state = new State();
state.compileString("int sum(int a, int b) {return a + b;}\n"
+ "int main(int argc, char* argv[]) {printf(\"sum(%d, %d) = %d\\n\", atoi(argv[1]), atoi(argv[2]), sum(atoi(argv[1]), atoi(argv[2]))); return 0;}");
state.run("", 2, 3);
state.delete();
}
}
TCC.init()初始化TCC,參數(shù)為包含TCC動態(tài)鏈接庫和頭文件的目錄。
state.compileString()接受一個包含C程序的字符串作為參數(shù),編譯它,state.run()運行編譯后的程序,并傳遞參數(shù)2和3用于計算它們的和。程序輸出為:
sum(2, 3) = 5
更多例子請查看https://github.com/wangzhengbo/TCC4Java中的examples和test.
