c ++程序可以使用函数" execfile(' filename.py')"打开并运行另一个c ++程序,如python;
我知道可以将c ++程序编译为exe并使用函数" system(" start main.exe")"运行exe文件。但是,是否有一种方法适用于Windows,Linux和Mac而无需更改代码并且无需重新编译文件?
答案 0 :(得分:4)
单词答案:否。
有C++ interpreters,所以至少在某种程度上原则上可以在不重新编译文件的情况下运行C ++程序。
但是,典型的Windows安装没有安装任何此类东西(也不是C ++编译器),因此除非您愿意将C ++解释器作为自己代码的一部分包含在内,否则运气不佳。
Windows,Mac和Linux都以完全不同的方式运行,如果没有特定于平台的代码,你肯定无法使一切工作。
如果您(1)愿意拥有一堆特定于平台的代码,并且(2)愿意在您正在构建的任何内容中包含完整的C ++编译器或解释器,那么您当然可以这样做。但我并不认为这就是你所追求的目标。
答案 1 :(得分:1)
否,特定于平台。
例如,在Windows和Linux之间,存在差异,system()
和exec()
函数系列。
正如@makadev所说,“实际上,函数不是问题,c ++可以使用[std :: system],它可能包含系统调用exec或system,更多的是关于不重编译和典型壳差异“