gpt4 book ai didi

c - 为什么 system() 存在?

转载 作者:行者123 更新时间:2023-12-03 20:16:49 26 4
gpt4 key购买 nike

许多论文等提到对“system()”的调用是不安全且不可移植的。我不反对他们的论点。

不过,我注意到许多 Unix 实用程序都有一个等效的 C 库。如果没有,源可用于各种这些工具。

虽然许多论文和此类建议反对 goto ,有些人可以为它的使用提出论据,并且为什么它完全是在 C 中的原因很简单。

那么,我们为什么需要 system() ?有多少现有代码依赖于它并且无法轻易更改?

最佳答案

讽刺的回答因为如果它不存在人们会问为什么那个功能不存在......

更好的答案
许多系统功能不是“C”标准的一部分,而是 Linux 规范的一部分,而 Windows 很可能有一些等价物。因此,如果您正在编写仅在 Linux 环境中使用的应用程序,那么使用这些功能不是问题,因此实际上很有用。如果您正在编写一个可以在 Linux 和 Windows(或其他)上运行的应用程序,这些调用就会成为问题,因为它们可能无法在系统之间移植。关键(imo)是您只是了解问题/顾虑并相应地进行编程(例如,使用适当的#ifdef 来保护代码等...)

关于c - 为什么 system() 存在?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51866536/

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