我正在用 C 语言编程,为嵌入式设备创建一些 API。此嵌入式设备运行 Linux 的变体。我不是很熟悉 C - 我更熟悉 shell 脚本/bash。
考虑到这一点,当涉及到检查目录是否存在或获取磁盘使用情况等事情时,我发现调用 system
会更容易。或 popen
并执行我的命令,然后解析输出。作为开发人员,这对我来说更快。
制作这些有缺点吗 system
和 popen
调用而不是找出如何在 C 中完成这些事情,然后利用 C 的函数?
最佳答案
缺点:
- 如果有用户输入是不安全的
- 很难解析输出
- 它将依赖于一些外部的东西,比如 shell 脚本。
- 繁重的进程 - 系统 fork() 并并行启动其他程序
优点:
- 易于实现
- 依赖于程序输出解析可能非常容易。示例
system("ls -1");
总结-
这取决于您需要做什么,但一般情况下,消极因素多于积极因素。
关于c - 使用对 system() 的调用而不是您的编程语言的函数有缺点吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31184444/