为了账号安全,请及时绑定邮箱和手机立即绑定

求大佬指点,请问在c语言中执行系统函数的问题!如下所示!

求大佬指点,请问在c语言中执行系统函数的问题!如下所示!

C
江户川乱折腾 2021-08-05 18:07:40
比如执行system("dir");之后 怎么样再返回到自己写的c函数之中呢有没有别的函数可以代替system();可是你说的ShellExecuteEx是在vc中的呀 没有发子在tc中实现呀?
查看完整描述

1 回答

?
慕后森

TA贡献1802条经验 获得超5个赞

其实system函数执行之后,就会返回到你的程序了,这个函数是阻塞的。还有更灵活一些的,比如ShellExecuteEx,这个应该是非阻塞的,但是可以通过WaitForSingleObject使他变为阻塞。如果windows程序,也可以用CreatProcess()

那你看看是否可以使用exec和spawn两个函数族的函数。
system中的exe加载过程是由os完成的,system只不过把一条命令行传给了os,由os完成剩下的工作。
而exec和spawn是调用dos内核的4Bh功能自己加载一个子程序的,因此能够比较细致地控制加载的过程。MCB申请由4B功能完成,子程序的PSP重构以及JFT的继承由exec和spawn帮你做,而EVB块的内容可以通过它们提供的参数让用户指定。spawn好象还可以通过4Dh获得子程序的返回值(就是main的return值),是不是这样不太记得了。

如果是在windows下编程,建议还是用VC吧,比较有用

查看完整回答
反对 回复 2021-08-09
  • 1 回答
  • 0 关注
  • 180 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信