欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

Java批量编译GCC源代码,javagcc源代码,批量编译C/C++源代码

来源: javaer 分享于  点击 24726 次 点评:271

Java批量编译GCC源代码,javagcc源代码,批量编译C/C++源代码


批量编译C/C++源代码,需要每个C/C++都有main函数。

import java.io.*;import java.util.*;public class GCCbin {    public static void main(String[] args) {        LinkedList<String> folderList = new LinkedList<String>();        folderList.add(".");        StringBuilder sb = new StringBuilder(256);        sb.append("xterm -e ");        boolean first = true;        while (folderList.size() > 0) {            File file = new File(folderList.poll());            File[] files = file.listFiles();            for (int i = 0; i < files.length; i++) {                if (files[i].isDirectory()) {                    folderList.add(files[i].getPath());                } else {                    if (files[i].getName().substring(2).contains(".")                            && (files[i].getName().substring(                                    files[i].getName().lastIndexOf("."))                                    .equals(".c") || files[i].getName().substring(2).substring(                            files[i].getName().lastIndexOf(".")).equals(".cpp")) {                        if (!first)                            sb.append(" & ");                        first = false;                        sb.append("gcc """                                + files[i].getAbsoluteFile()                                + """ -o """                                + files[i].getAbsolutePath().substring(                                        0,                                        files[i].getAbsolutePath().lastIndexOf(                                                "."))+"""");                        }                }            }            try {                Runtime.getRuntime().exec(sb.toString());            } catch (IOException e) {                e.printStackTrace();            }        }    }}//该片段来自于http://byrx.net
相关栏目:

用户点评