制作C语言编译器的要点
近来想自己做一个C语言的编译器(假如这个编译器称为S),查阅资料,把其中的要点整理如下:
编译
编译.c的程序可用mingw的gcc命令:
gcc test.c -o test.exe
编译C++的程序要用g++:
g++ test.cpp -o test.exe
注意:上述命令在执行时如果显示找不到命令,需要在命令前面加路径,或者设置PATH环境变量。
错误信息的重定向
编译时如果程序存在错误,这个错误信息显然要在编译器S的界面显示。为此我们需要把命令行的错误信息重新定向到文件中,如:
g++ test.cpp -o test.exe 2>err.txt
这里2表示出错信息。编译器S可以从err.txt读取出错信息显示在编译器界面。
C程序运行输出
编译成功会产生可执行程序,如上面的test.exe,运行此程序即可输出程序结果,该结果直接显示在命令行环境: