我有2个文件file1.c和file2.c 我想运行 file1.c 的多个副本来自我的主文件 file2.c
答案 0 :(得分:1)
检查系统调用fork()和exec()。 fork允许复制当前进程及其所有内存。 exec调用允许替换为当前进程执行的代码。
基本上,从您的主进程,您将多次fork。如果fork的结果为0,则使用命令行为子进程调用exec。
int i;
for (i = 0; i < 10; i++) {
// fork() returns 0 for the child process,
// and the actual pid of the new process for the parent process.
pid_t pid = fork();
if (!pid) {
// This if will be executed only by the child process.
// execvp() first argument is the executable file,
// the second argument is a varargs for each arguments of the command line.
execvp("testsim");
}
}
但是,要使其正常工作,必须将两个c文件编译为可执行文件。
答案 1 :(得分:0)
使用system()
从另一个可执行文件执行可执行文件。
在 runsim.c
中添加此行system("path_to_testsim_executable/testsim_executable_name");
根据您想要运行 testsim 的次数来调用上述行。
现在编译.c
个文件并运行runsim
可执行文件。