我想在我的 C 代码中执行二进制文件。哪个更好执行?popen()
or system()
EDIT: 我尝试使用system
,但是执行的进程似乎最终卡住了并且没有返回到我的代码。
有什么建议吗?
Thanks
popen()
使您可以控制进程的输入或输出文件流。system()
没有。如果不需要访问进程的I/O,可以使用system()
为了简单起见。
system()
属于 C89 和 C99;popen()
仅限 Posix(尽管 Windows API 也有)。
这两个函数都调用某种形式的shell执行命令(例如/bin/sh
在 Linux 上,并且可能cmd.exe
在 Windows 上)。如果你想直接执行一个可执行文件并且你在Posix上,你也可以看看exec*
- 一系列函数结合fork()
(since exec()
replaces当前进程)。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)