小弟在Java图形化界面编程遇到如下问题:望高手大侠不吝赐教啊!!!不胜感激啊!!!
需要在主程序中调用一个未经编译的.CPP/.C/.java源文件。
具体过程如下:主程序是一个对话框,里面可以选择需要编译、执行的文件,选择后按确定,就可以自动对所选文件进行编译、连接、执行。
这里面就有个问题:
如何调用Java编译器编译.java源文件连接并执行
如何调用VC++的编译器编译.cpp源文件连接并执行
如何调用C编译器编译.c源文件连接并执行
盼赐教!在这里先谢谢了!!!
每一种都讲一下,讲详细点,如果能有实现的代码更好,如果介绍一些有关这方面的书籍也行谢谢帮忙啊!!!
需要在主程序中调用一个未经编译的.CPP/.C/.java源文件。
具体过程如下:主程序是一个对话框,里面可以选择需要编译、执行的文件,选择后按确定,就可以自动对所选文件进行编译、连接、执行。
这里面就有个问题:
如何调用Java编译器编译.java源文件连接并执行
如何调用VC++的编译器编译.cpp源文件连接并执行
如何调用C编译器编译.c源文件连接并执行
盼赐教!在这里先谢谢了!!!
每一种都讲一下,讲详细点,如果能有实现的代码更好,如果介绍一些有关这方面的书籍也行谢谢帮忙啊!!!
import javax.tools.*;public class test_compilerapi
{
public static void main(String args[]) throws IOException
{
JavaCompiler compiler = ToolProvider.getSystemJavaCompiler();
int results = compiler.run(null, null, null, "test.java");
System.out.println((results == 0)?"编译成功":"编译失败");
// 在程序中运行test
Runtime run = Runtime.getRuntime();
Process p = run.exec("java test");
BufferedInputStream in = new BufferedInputStream(p.getInputStream());
BufferedReader br = new BufferedReader(new InputStreamReader(in));
String s;
while ((s = br.readLine()) != null)
System.out.println(s);
}
}
public class test
{
public static void main(String[] args) throws Exception
{
System.out.println("JavaCompiler测试成功!");
}
}
//详解请参考原址:http://www.blogjava.net/nokiaguy/archive/2008/05/13/200141.htmlQ2.如何调用VC++的编译器编译.cpp源文件连接并执行 暂时没发现,调用.h .cpp的源文件吧,楼主可以参考:http://www.51cto.com/art/200509/3597.htmQ3.如何调用C编译器编译.c源文件连接并执行 同上
你发的那代码我也找到了!!呵呵
下面的调用Vc和C编译器我是想在Java代码中实现啊!!
请问有这种实现的代码么?