我正在编写一个程序,它应该在另一个目录(/files/runme.c)中运行文件。如何在C中运行此文件?

我已经尝试过system()函数,但是这不起作用。

MAIN.c:

#include <stdio.h>
#include <stdlib.h>
int main() {
 system("runme.c");
 return 0;
}


runme.c:

#include <stdio.h>
int runme() {
 printf("hello world");
}


我的预期结果是:


  你好,世界


我得到:


  退出状态-1


我希望它运行runme.c内容中的所有内容。我该怎么做(在Windows和Linux上)?

最佳答案

要从另一个文件中获取runme()函数以传递给您的main,您需要创建一个包含runme()函数原型的头文件,将该头文件包含在main.c中,并使用这两个文件进行编译。

main.h:

int runme(void);


main.c

#include <stdio.h>
#include <stdlib.h>
#include "main.h" //main.h needs to be in the same directory as main.c

int main(void) {
   runme();
   return 0;
}


运行程序

#include <stdio.h>

int runme() {
   printf("hello world");
}


最后编译:

gcc main.c {path} /runme.c

09-28 11:43