求一个在Linux下运行GCC批量编译Java源文件的程序
发布网友
发布时间:2023-08-20 02:04
我来回答
共4个回答
热心网友
时间:2023-09-03 02:06
#include <stdio.h>
#include <sys/types.h>
#include <dirent.h>
#include <sys/stat.h>
#include <string.h>
void do_search_dir(char *path) {
DIR *dir;
char fullpath[1024],currfile[1024];
struct dirent *s_dir;
struct stat file_stat;
strcpy(fullpath,path);
dir=opendir(fullpath);
while ((s_dir=readdir(dir))!=NULL) {
if ((strcmp(s_dir->d_name,".")==0)||(strcmp(s_dir->d_name,"..")==0))
continue;
sprintf(currfile,"%s/%s",fullpath,s_dir->d_name);
stat(currfile,&file_stat);
if (S_ISDIR(file_stat.st_mode))
do_search_dir(currfile);
else
{
char *p;
p=currfile;
while(*p)p++;
while(p>currfile && *p!='.')p--;
if (p!=currfile)p++;
if(!strncmp(p,"java",4))
//system(strcat("javac ",strcat(fullpath,currfile)));
printf(strcat("javac ",strcat(fullpath,currfile)));
if(!strncmp(p,"jar",3))
//system(strcat("java -jar ",strcat(fullpath,currfile)));
printf(strcat("java -jar ",strcat(fullpath,currfile)));
}
}
closedir(dir);
}
int main() {
do_search_dir(".");
return 0;
}
热心网友
时间:2023-09-03 02:07
写一个几行的用find的shell脚本就行了。
用最好最适合的工具解决问题。这里C/C++不适最好的选择。
热心网友
时间:2023-09-03 02:07
到对应目录下打javac *.java就行了。
写个sh更好。
可以到东方赛富的网站上下些如何写sh的文章
热心网友
时间:2023-09-03 02:08
用shell算了,简单很多