一个C文件在linux中调用并运行另一个c文件

时间:2013-11-20 03:30:27

标签: c linux

我在同一文件夹中的Linux上有三个c文件one.c,two.c和three.c. 我需要先运行one.c文件,然后一旦运行完毕就应该自动运行two.c文件。 在two.c文件完成运行后,它应该自动运行three.c,依此类推......

将编译所有文件。

提前致谢!!! ! !

2 个答案:

答案 0 :(得分:1)

看起来您可以使用初学者的参考,例如this one

This book也没有伤害。

它们都是小书,但最好是在开始时去源。

祝你好运!

答案 1 :(得分:1)

你可以单独编译和运行它们,比如评论中的jightuse和mbratch建议。 另一种“运行”每种方法的方法是将它们链接在一起并从每个方法运行一个函数。在这里,我将main()更改为main1(),main2()和main3(),但是在单独的文件中。

poly@blue-starling ~/junk/2013.11: cat one.c
#include <stdio.h>
void main1(void)
{
  printf("one here!\n");
}

poly@blue-starling ~/junk/2013.11: cat two.c
#include <stdio.h>
void main2(void)
{
  printf("two here!\n");
}

poly@blue-starling ~/junk/2013.11: cat three.c
#include <stdio.h>
void main3(void)
{
  printf("three here!\n");
}

poly@blue-starling ~/junk/2013.11: cat main.c
void main(void)
{
    main1();
    main2();
    main3();
}

poly@blue-starling ~/junk/2013.11: gcc *.c
main.c: In function ‘main’:
main.c:2: warning: return type of ‘main’ is not ‘int’

poly@blue-starling ~/junk/2013.11: a.out
one here!
two here!
three here!
poly@blue-starling ~/junk/2013.11: 

(它破坏了一些规则并发出了警告,因为main()并非严格意义上的主要内容,但希望能够表明这一想法。)

无论如何,这是一种方式。