gpt4 book ai didi

c - 使用对 system() 的调用而不是您的编程语言的函数有缺点吗?

转载 作者:太空狗 更新时间:2023-10-29 14:53:14 31 4
gpt4 key购买 nike

我正在用 C 语言编程,为嵌入式设备创建一些 API。此嵌入式设备运行 Linux 的变体。我不是很熟悉 C - 我更熟悉 shell 脚本/bash。

考虑到这一点,当涉及到检查目录是否存在或获取磁盘使用情况等事情时,我发现调用 system 会更容易。或 popen并执行我的命令,然后解析输出。作为开发人员,这对我来说更快。

制作这些有缺点吗 systempopen调用而不是找出如何在 C 中完成这些事情,然后利用 C 的函数?

最佳答案

缺点:

  1. 如果有用户输入是不安全的
  2. 很难解析输出
  3. 它将依赖于一些外部的东西,比如 shell 脚本。
  4. 繁重的进程 - 系统 fork() 并并行启动其他程序

优点:

  1. 易于实现
  2. 依赖于程序输出解析可能非常容易。示例 system("ls -1");

总结-

这取决于您需要做什么,但一般情况下,消极因素多于积极因素。

关于c - 使用对 system() 的调用而不是您的编程语言的函数有缺点吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31184444/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com