TinyCC的Java绑定版本 TCC4Java

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

[url=http://www.huiyi8.com/jiaoben/]CSS[/url]
简单的例子:

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

更多例子请查看http://www.huiyi8.com/jiaoben/中的examples和test.

时间: 2024-10-25 14:55:21

TinyCC的Java绑定版本 TCC4Java的相关文章

切换Java jdk版本脚本

电脑上须安装需要互相切换版本的JDK,不能用绿色包代替.复制以下内容至新建的文本文件,后缀再修改为bat格式,右击已管理员身份运行 @echo off rem 切换Java jdk版本 echo 请以管理员来进行切换 echo 当前版本 java -version :menu echo ============================================= echo 请选择要切换的jdk版本 echo 1:Java jdk 1.7 echo 2:Java jdk 1.8 ec

java三大版本解析

JAVA三大版本代表着JAVA技术的三个应用领域:JAVASE.JAVAME.JAVAEE. JAVA以前很长一段时间被称为JAVA2,所以现在很多人习惯称为J2SE.J2ME.J2EE,它们表示的含义是一样的. 首先我们来看看JAVASE,它是JAVA的标准版,是整个JAVA的基础和核心,也是JAVAEE和JAVAME技术的基础,主要用于开发桌面应用程序. 然后我们来看看JAVAME,它叫做JAVA的微缩版,主要应用于嵌入式开发,比如手机程序的开发. JAVAEE叫做JAVA的企业版,它提供了

Atitit..jdk java 各版本新特性 1.0 1.1 1.2 1.3 1.4 1.5(5.0) 1.6(6.0) 7.0 8.0 9.0 attilax 大总结

Atitit..jdk java 各版本新特性 1.0 1.1 1.2 1.3 1.4 1.5(5.0) 1.6(6.0) 7.0 8.0 9.0 attilax 大总结 1.1. Java的编年史2 1.2. Java版本:JDK 1.02 1.3. Java版本:JDK 1.13 1.4. Java版本:JDK 1.2 (Java 2)4 1.4.1. 1999年5 1.4.2. 2000年5 1.5. Java版本:JDK 1.35 1.5.1. 2001年6 1.5.2. 2002年7

什么是函数响应式编程(Java&Android版本)

什么是函数响应式编程(Java&Android版本) 原文链接:http://www.bignerdranch.com/blog/what-is-functional-reactive-programming/ 函数响应式编程(FRP)为解决现代编程问题提供了全新的视角.一旦理解它,可以极大地简化你的项目,特别是处理嵌套回调的异步事件,复杂的列表过滤和变换,或者时间相关问题. 我将尽量跳过对函数响应式编程学院式的解释(网络上已经有很多),并重点从实用的角度帮你理解什么是函数响应式编程,以及工作中

Android4.0-4.4 添加实体按键振动支持的方法(java + smali版本)

有些手机比如泛泰A820L, 泛泰A890 A900 以及Nubia Z5S 和Z5S mini具有实体按键(这里所说的实体按键是相对于虚拟按键而言, 包含物理按键和触摸屏上多出来的触摸实体按键), 当编译第三方ROM比如CM或者Mokee或者Omni时就会发现如果不做修改的话默认触摸实体按键时是没有振动支持的, 甚至有些patchrom的MIUI或者ColorOS等系统也可能不支持. 不知道是CM代码的问题还是编译的Config没写完全造成的, 后来经过本人修改后是可以支持按键振动, 不过只能

改变Eclipse中java编译器版本出现错误:Java compiler level does not match the version of the installed Java project facet.

改变Eclipse中java编译器版本出现错误:Java compiler level does not match the version of the installed Java project facet. 错误原因:Project Facts中的Java版本设定与项目的Java版本设定不一致. 解决方案:在Eclipse环境中 1. 鼠标右键选择项目,点击Properties,选择Java Build Path查看或修改JRE System Library的jre或jdk的版本. 2.

Java JDK 版本的区别

jdk6和jdk5相比的新特性有: 1.instrumentation 在 Java SE 6 里面,instrumentation 包被赋予了更强大的功能:启动后的 instrument.本地代码 instrument,以及动态改变 classpath 等等. 2.Http有所增强 3. Java 管理扩展(JMX) 架构及其框架,以及在 Java SE 5 中新引入的 JMX API -- java.lang.management 包 4.JDK 6 中新增加编译器 API(JSR 199)

java swing版本打飞机源码

原文:java swing版本打飞机源码 源代码下载地址:http://www.zuidaima.com/share/1553224165755904.htm 运行效果图

Atitit.ati dwr的原理and设计 attilax 总结 java php 版本

Atitit.ati dwr的原理and设计 attilax 总结 java php 版本 1. dwr的优点相对于ajax来说.. 1 2. DWR工作原理 1 3. Dwr的架构 2 4. 自定义dwr还是native dwr 2 5. ApiHandler的标准化method 2 6. Invok..  Dwr.exe() 2 7. api.jsp 3 8. prj.Wxb distribu   api.jsp 3 9. ----------code 4 10. ApiHandler 4