怎么通过程序将一个文件传入编译器中并执行
来源:网络收集 点击: 时间:2024-04-13创建a.c和b.c两个源码文件,a.c生成程序a,b.c是传递给a的文件。

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

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

接下来用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 = gcc -o a.out ;
strcat(cmd_buf,av);
strcat(cmd_buf, ;./a.out);
system(cmd_buf);
return 0;
}

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

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

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

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

版权声明:
1、本文系转载,版权归原作者所有,旨在传递信息,不代表看本站的观点和立场。
2、本站仅提供信息发布平台,不承担相关法律责任。
3、若侵犯您的版权或隐私,请联系本站管理员删除。
4、文章链接:http://www.1haoku.cn/art_505544.html