在Visual C++ 2012(MSVC)编译SDCC编译器

来源:互联网 发布:linux 查看重启动原因 编辑:程序博客网 时间:2024/06/05 08:26

当你想使用一个开源的工具来开发单片机51程序时,可以使用SDCC编译器,它不仅是免费的,还是开放源码的编译器;不仅让你可以开发51的程序,还可以深入了解编译原理的编译器。通过本文的指导,你可以实现自己编译一个51编译器出来,也可以继续深入地了解编译器的原理作为基础。

 

为了下载SDCC编译器的源码,你得先到官方网站下载相应的代码,下载代码有两种方式:方式一是通过SVN代码库来下载:

svn://svn.code.sf.net/p/sdcc/code/trunk/sdcc

使用SVN工具就可以通过上面的连接把源代码下载。

方式二是通过压缩包的方式下载:

http://sdcc.sourceforge.net/snap.php

在这种方式里,文件包命名为sdcc-src-yyyymmdd-rrrr.tar.bz2方式,找到最新的压缩包下载即可。

 

接着自行安装VC2012版本,不过在VC2012版本里不能编译SDCC的工程ucSim。安装VC2012之后,就可以到SDCC的目录下面找到解决方案文件sdcc.sln,打开这个方案文件,并在加载完成之后,会提问是否升级到VC2012的工程,因为SDCC官方还是建议使用VC2010开发。当所有工程编译通过之后,就会在目录sdcc\bin_vc生成所有执行文件。当你需要发布出去时,可以从目录sdcc\bin_vc拷贝到sdcc\bin目录里,就可以运行起来了。

 

SDCC的部分工程里使用开源库boost库,因此你需要到网站:

http://www.boost.org/

下载相应的版本,解压放到一个目录下,然后在VC2012的工程目录里指定相应的路径。就可以编译与boost相关的工程了。

 

为了编译词法分析和语法分析部分相关的代码,需要工具bison.exeflex.exegawk.exe,可到网站htttp://unxutils.sourceforge.net下载,主要下载文件UnxUtils.zip。当成功下载之后,在根目录下创建一个文件夹c:\UnxUtils,然后把所有文件解压到此目录下面。然后在VC++Directories目录里添加此目录,这样就让可以工程访问相应的工具。

 

记得一定下载此版本UnxUtils的执行文件,其它版本的执行的文件,可能会导致sdcpp项目编译不通过。

 

做这些动作之后,在VC2012的工程里选择 build all就可以编译所有文件出来。后面就可以在目录sdcc\bin_vc找到所有输出文件,拷贝到sdcc\bin就可以使用了,可以开始对51的程序进行开发和编译了。

 

蔡军生 QQ;9073204  深圳

2 0