怎么通过程序将一个文件传入编译器中并执行

2025-11-06 07:54:19

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。
猜你喜欢