TCC4JavaTinyCC的Java绑定版本

联合创作 · 2023-09-28 17:34

TCC4Java是TinyCC(也叫做TCC,一个神奇的C编译器)的Java绑定,让Java支持使用C作为脚本语言。

TCC4Java支持以下操作系统:

     Windows x86/x64
     Linux x86/x64/arm
     Mac OS X
     Debian kFreeBSD x86/x64
     FreeBSD x86/x64
     NetBSD x86/x64
     DragonFlyBSD x86/x64

在以下系统中测试过:

     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,参数为包含TCC动态链接库和头文件的目录。

state.compileString()接受一个包含C程序的字符串作为参数,编译它,state.run()运行编译后的程序,并传递参数2和3用于计算它们的和。程序输出为:

sum(2, 3) = 5

更多例子请查看https://github.com/wangzhengbo/TCC4Java中的examples和test.

浏览 6
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报
评论
图片
表情
推荐
点赞
评论
收藏
分享

手机扫一扫分享

编辑 分享
举报