怎么通过程序将一个文件传入编译器中并执行
1、创建a.c和b.c两个源码文件,a.c生成程序a,b.c是传递给a的文件。

2、a.c中通过c库函数system()来调用外部编译器gcc来编译传递进来的b.c文件。
system()是c库函数,在stdlib.h头文件中定义,参数只有一个字符串指针,用于指明命令。

3、接下来问题的关键是组建一个编译器命令。可以使用strcat()来拼接字符串。这个函数定义于string.h头文件,能够将两个字符串合成一个字符串。

4、接下来用vim打开a.c文件,输入如下代码。
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
int main(int ac, char *av[])
{
if (ac!=2) {
printf("用法:a inputfile\n");
printf("a:是当前程序\n");
printf("inputfile:是一个源码文件\n");
return 0;
}
char cmd_buf[256] = "gcc -o a.out ";
strcat(cmd_buf,av[1]);
strcat(cmd_buf," ;./a.out");
system(cmd_buf);
return 0;
}

5、输入完成后,按wq保存并退出vim。

6、然后同样的方法用vim打开b.c输入一个hello world程序,仅供测试用。

7、然后,就可以用gcc编译生成a程序。

8、然后就可以将b.c作为程序a的参数,然后a程序直接调用gcc,将b.c编译输出a.out,并直接执行。

声明:本网站引用、摘录或转载内容仅供网站访问者交流或参考,不代表本站立场,如存在版权或非法内容,请联系站长删除,联系邮箱:site.kefu@qq.com。
阅读量:104
阅读量:37
阅读量:81
阅读量:81
阅读量:112