“工欲善其事,必先利其器”。进行软件编程设计之前,选择合适的软件工具是要首先考虑的事。软件工具的选择应该围绕设计的环境和目的进行。
GNU C/C++编译器起源于Linux平台,属于Linux系统的基本支持核心工具。其相关的函数库性能和功能都十分完美、强大。此编译器已经被移植到各个平台,并且是免费的。在Windows环境下,GNU C/C++编译器工具组有多个版本。
MinGW(Minimalist GNU for Windows)工具包是目前业界普遍使用的C/C++编译器,也是本书所使用的基本工具。它的优点如下。
(1)更新频繁,功能上不断增强。
(2)它本身能在32位或64位的Windows环境中运行,并且其生成的代码程序也能在32位或64位的Windows环境中运行。
DJGPP(DJ's GNU Programming Platform)是早期移植到Windows环境下的C/C++编译器。由于其只能在32位的Windows环境中运行,因此被逐渐淘汰。它的优点是使用方式较简单、易上手。
Cygwin 是一整套从 Linux 环境移植至 Windows 环境的编译工具。它最大程度上在Windows环境中模拟了Linux环境。但是,由于其通用性和适用程度较低,在使用上增加了难度,本书并不推荐。
flex和bison是GNU C/C++工具包中的两个可执行(命令)文件,用于设计、生成解析器。前者起源于UNIX环境中的lex,用于词一级的解析器的设计;而后者由UNIX环境下的yacc发展而来,用于语法解析器的设计。在通常情况下,两者互相配合使用,是编译器之类的工具必不可少的工具。
在Windows环境中,flex和bison这两个命令文件已经存在于MinGW工具包中,无须重新下载或安装。但在Linux环境中,它们通常不属于系统基本核心工具,需要进行安装(在Ubuntu Linux中,C++编译器也需要进行安装)。
1. Linux 环境下安装解析工具
同样地,增加C++编译器的安装。
注:上述操作必须在联网的状态下进行。
2.在 Windows 环境下安装MinGW
将MinGW在Windows环境下(如安装在“C:\”硬盘的根目录下)完成安装后,结果如图1-1所示。
图1-1 编译工具安装和路径
其中:
“C:\MinGW\bin”目录包含了GNU C/C++编译器的gcc.exe和g++.exe命令文件。
“C:\MinGW\msys\1.0\bin”目录包含了flex.exe和bison.exe命令文件。
这两个目录的路径必须添加到系统的路径设置中,使其成为“待命”状态,如图1-2所示。
有必要说明一下,目标编译器的使用也将借助下述MinGW工具包中的命令(文件)。
图1-2为编译工具设定全局运行路径
注:如果将这些执行文件复制至目标编译器的“/bin”目录中,则目标编译器即可脱离MinGW工具包而独立运行。
当本书介绍的编译器(也被称为目标编译器)安装完成后,运行前也应为之进行系统设置。
(1)在Windows环境下,必须将目标编译器的目录的路径名(见下一章)添加到系统环境中(与上述手法雷同)。
(2)在Linux环境中,其设置方式较特殊。以Ubuntu Linux为例,假设PIC16Fxxxx处理器的编译系统的文件路径为“/home/p16ecc”,具体操作方法是:打开终端(Terminal)应用,进入系统基本目录“/home”中,以文本编辑器(如vi)打开其中的“.bashrc”文件,在文件末尾添加如下代码。