我正在编写一个程序,它应该在另一个目录(/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