当你想使用一个开源的工具来开发单片机51程序时,可以使用SDCC编译器,它不仅是免费的,还是开放源码的编译器;不仅让你可以开发51的程序,还可以深入了解编译原理的编译器,
在Visual C++ 2012(MSVC)编译SDCC编译器
。通过本文的指导,你可以实现自己编译一个51编译器出来,也可以继续深入地了解编译器的原理作为基础。为了下载SDCC编译器的源码,你得先到 下载相应的代码,下载代码有两种方式:方式一是通过SVN代码库来下载:
使用SVN工具就可以通过上面的连接把源代码下载。
方式二是通过压缩包的方式下载:
在这种方式里,文件包命名为sdcc-src-yyyymmdd-rrrr.tar.bz2方式,找到最新的压缩包下载即可。
接着自行安装VC2012版本,不过在VC2012版本里不能编译SDCC的工程ucSim。安装VC2012之后,就可以到SDCC的目录下面找到解决方案文件sdcc.sln,打开这个方案文件,并在加载完成之后,会提问是否升级到VC2012的工程,因为SDCC官方还是建议使用VC2010开发。当所有工程编译通过之后,就会在目录sdccin_vc生成所有执行文件,
电脑资料
《在Visual C++ 2012(MSVC)编译SDCC编译器》(http://meiwen.anslib.com)。当你需要发布出去时,可以从目录sdccin_vc拷贝到sdccin目录里,就可以运行起来了。SDCC的部分工程里使用开源库boost库,因此你需要到网站:
http://www.boost.org/
下载相应的版本,解压放到一个目录下,然后在VC2012的工程目录里指定相应的路径。就可以编译与boost相关的工程了。
为了编译词法分析和语法分析部分相关的代码,需要工具bison.exe,flex.exe和gawk.exe,可到网站htttp://unxutils.sourceforge.net下载,主要下载文件UnxUtils.zip。当成功下载之后,在根目录下创建一个文件夹c:UnxUtils,然后把所有文件解压到此目录下面。然后在VC++Directories目录里添加此目录,这样就让可以工程访问相应的工具。
记得一定下载此版本UnxUtils的执行文件,其它版本的执行的文件,可能会导致stdcpp项目编译不通过。
做这些动作之后,在VC2012的工程里选择 build all就可以编译所有文件出来。后面就可以在目录sdccin_vc找到所有输出文件,拷贝到sdccin就可以使用了,可以开始对51的程序进行开发和编译了。