我试图使用exec方法通过java代码编译c文件
String inputFilePath = ""D:\Soft\WebApplication\build\web\code\Demo.c""; String[] commands = {"cmd", "/c", "gcc",inputFilePath,"-o","Demo"}; Process p=Runtime.getRuntime().exec(commands); DataInputStream din=new DataInputStream(p.getErrorStream()); String s="",temp; while((temp=din.readLine())!=null) s+=temp; if(s.equals("")){ cf.setResult("No Syntax Error"); } else cf.setResult(s);
但它不会生成demo.exe
文件
使用ProcessBuilder
可以使这更容易。
这应该适用于Windows(此刻,我这里只有Linux)。
String directory = "D:\Soft\WebApplication\build\web\code\"; String[] commands = {"cmd", "/C", "gcc", "Demo.c", "-o", "Demo.exe"}; ProcessBuilder pb = new ProcessBuilder(); pb.directory(new File(directory)); pb.command(commands); Process p = pb.start(); // process in/out streams
以上就是c/c++开发分享使用gcc通过javacode编译C源代码相关内容,想了解更多C/C++开发(异常处理)及C/C++游戏开发关注计算机技术网(www.ctvol.com)!)。
本文来自网络收集,不代表计算机技术网立场,如涉及侵权请联系管理员删除。
ctvol管理联系方式QQ:251552304
本文章地址:https://www.ctvol.com/c-cdevelopment/519240.html