小弟在Java图形化界面编程遇到如下问题:望高手大侠不吝赐教啊!!!不胜感激啊!!!
需要在主程序中调用一个未经编译的.CPP/.C/.java源文件。
具体过程如下:主程序是一个对话框,里面可以选择需要编译、执行的文件,选择后按确定,就可以自动对所选文件进行编译、连接、执行。
这里面就有个问题:
如何调用Java编译器编译.java源文件连接并执行
如何调用VC++的编译器编译.cpp源文件连接并执行
如何调用C编译器编译.c源文件连接并执行
  盼赐教!在这里先谢谢了!!!
每一种都讲一下,讲详细点,如果能有实现的代码更好,如果介绍一些有关这方面的书籍也行谢谢帮忙啊!!!

解决方案 »

  1.   

    Q1.如何调用Java编译器编译.java源文件连接并执行  import java.io.*;
    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源文件连接并执行 同上
      

  2.   

    首先谢谢你啊!!!
    你发的那代码我也找到了!!呵呵
    下面的调用Vc和C编译器我是想在Java代码中实现啊!!
    请问有这种实现的代码么?