linux环境,请问如何在C代码中调用执行另一个C程序,谢谢了。

linux环境,请问如何在C代码中调用执行另一个C程序,谢谢了。,第1张

怎么感觉概念好混乱,.c文件能够“执行”么(又不是shell)?他编译出来的.out才能够执行吧。

可以用标准库的:

#include <stdlib.h>

system(这里写要执行的可执行文件的路径的C字符串)

fork()函数,生成父子进程

或者在shell里调用./a &进入后台运行

如果有参数,在a程序里写system("path/b")

就实现了对b程序的调用,path是b存放的路径

如果程序相互关联的,编译的时候要生成.o然后把三个程序链接成一个程序

gcc -c -o a.o a.c

gcc -c -o b.o b.c

ld ab a.o b.o

如果是内核程序,还要根据依赖关系,分前后顺序装载。

你要改变CPU的调度规则吧...

我不很清楚...任务比较大的情况下,自动会使用两个CPU的..

如果要你那样的效果,一个程序要两个CPU同时处理,可能需要在程序里面对调度进行设置了,比如只使用某个CPU... 没试过,我不知道有没有这些选项.

没明白LZ这样做的原因...达到“并行”的效果吗?


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/yw/8946684.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-04-23
下一篇2023-04-23

发表评论

登录后才能评论

评论列表(0条)

    保存