我想创建一个系统,我可以在程序中运行make文件和其他几个gcc相关的东西,基本上是使用gcc并在程序中编译东西。如果我把我要做的所有事情写到批处理文件中,那么我需要在程序中运行该批处理文件。
现在每个人都说System()
因为安全和各种其他事情而非常糟糕。因此,考虑到我正在使用c ++,这将是System()
运行批处理文件的一个很好的替代方案。如果愿意,我想要跨平台的替代方案。
由于
答案 0 :(得分:2)
你可以使用fork
和execl
系列的呼叫,虽然这些系统被绑定到Unix / Linux,并且根据你使用它们的方式,可以说比系统更安全。
我非常怀疑,如果只是因为所有平台都有不同且独特的方式,你会找到一种通用的跨平台方式。此外,您尝试运行的脚本无疑必须在不同平台上有所不同,并且可能有不同的方式来指定诸如目录路径等内容。
我的建议是首先问问自己,你将如何处理以下问题 - 这将是我的主要关注点:
我的最后一个问题是你为什么要用C ++做这个?有具体原因吗?当然,我是一名C ++传播者,尽管我认为用Perl,Python或者Bash这样的脚本语言可以更好地解决这个问题,除非你开始做更激进的事情。