我们可以用c ++编写一个用编译器编译c ++源代码的程序吗?
例如,我们有一个程序,它接受文件名,然后编译它:
Enter your C++ source code file name : cppSource.cpp
your program compiled.
output: cppSource.exe
或者:
Enter your C++ source code file name : cppSource.cpp
Sorry. There is no C++ Compiler in your computer.
我不是说我们写一个编译器。 我的意思是编写一个使用编译器编译cpp文件的程序。 我们如何访问编译器。 以及如何检测计算机中是否安装了编译器。
答案 0 :(得分:0)
使用system
函数调用任何可执行文件,例如g ++ compiler:
#include <stdlib.h>
int retval = system("g++ file.cpp");
可以检查system
的返回值,如果shell能够执行它,它将是被调用的可执行文件的返回值。在这种情况下,如果存在编译器并且代码编译成功,通常它将为0。
或者(并且还为了防止显示被调用的程序输出),有关其他详细信息,可以将程序输出重定向到文件,然后打开该文件并解析它的内容。
int retval = system("g++ file.cpp > output.txt");