gpt4 book ai didi

c++ - 使用程序作为包含主要功能的库

转载 作者:搜寻专家 更新时间:2023-10-31 01:21:28 25 4
gpt4 key购买 nike

我打算编写一个调用 cdrecord 的程序。 (我是一个初学者,一个试图“挠痒痒”的初学者) 该程序将用C++编写。我已经确定我需要能够运行 cdrecord 才能使其正常工作。

cdrecord 是用 C 语言编写的。但是使用它的文档来自命令行。源代码包括一个为命令行应用程序提供支持的主要功能,这与我使用 cdrecord 执行的代码相同。

我想知道我是否应该:

  1. 将 main 更改为另一个名称,然后包含源文件并在需要时调用它。
  2. 使用 system() 命令调用编译后的程序。
  3. 其他。

最佳答案

system() 通常是一个不错的方法,只是要注意不要将任意不受信任的值注入(inject)到您执行的字符串中。例如,如果您有一个 padsize 选项默认为 0 的 Web 前端,并且有人输入的不是数字而是“0; rm -rf *;”,请确保您没有结束向上调用“cdrecord padsize=0; rm -rf *; ...”。

系统的另一件事是启动第二个不同的进程可能会更慢 - 如果您运行该程序数百次并且每次它只有几毫秒的工作要做,这可能很重要,但在你的情况启动的开销与可能的 cdrecord 运行时间相比相形见绌。

关于c++ - 使用程序作为包含主要功能的库,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3788117/

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