當(dāng)你想使用一個開源的工具來開發(fā)單片機51程序時,可以使用SDCC編譯器,它不僅是免費的,還是開放源碼的編譯器;不僅讓你可以開發(fā)51的程序,還可以深入了解編譯原理的編譯器,
在Visual C++ 2012(MSVC)編譯SDCC編譯器
。通過本文的指導(dǎo),你可以實現(xiàn)自己編譯一個51編譯器出來,也可以繼續(xù)深入地了解編譯器的原理作為基礎(chǔ)。為了下載SDCC編譯器的源碼,你得先到 下載相應(yīng)的代碼,下載代碼有兩種方式:方式一是通過SVN代碼庫來下載:
使用SVN工具就可以通過上面的連接把源代碼下載。
方式二是通過壓縮包的方式下載:
在這種方式里,文件包命名為sdcc-src-yyyymmdd-rrrr.tar.bz2方式,找到最新的壓縮包下載即可。
接著自行安裝VC2012版本,不過在VC2012版本里不能編譯SDCC的工程ucSim。安裝VC2012之后,就可以到SDCC的目錄下面找到解決方案文件sdcc.sln,打開這個方案文件,并在加載完成之后,會提問是否升級到VC2012的工程,因為SDCC官方還是建議使用VC2010開發(fā)。當(dāng)所有工程編譯通過之后,就會在目錄sdccin_vc生成所有執(zhí)行文件,
電腦資料
《在Visual C++ 2012(MSVC)編譯SDCC編譯器》(http://www.ishadingyu.com)。當(dāng)你需要發(fā)布出去時,可以從目錄sdccin_vc拷貝到sdccin目錄里,就可以運行起來了。SDCC的部分工程里使用開源庫boost庫,因此你需要到網(wǎng)站:
http://www.boost.org/
下載相應(yīng)的版本,解壓放到一個目錄下,然后在VC2012的工程目錄里指定相應(yīng)的路徑。就可以編譯與boost相關(guān)的工程了。
為了編譯詞法分析和語法分析部分相關(guān)的代碼,需要工具bison.exe,flex.exe和gawk.exe,可到網(wǎng)站htttp://unxutils.sourceforge.net下載,主要下載文件UnxUtils.zip。當(dāng)成功下載之后,在根目錄下創(chuàng)建一個文件夾c:UnxUtils,然后把所有文件解壓到此目錄下面。然后在VC++Directories目錄里添加此目錄,這樣就讓可以工程訪問相應(yīng)的工具。
記得一定下載此版本UnxUtils的執(zhí)行文件,其它版本的執(zhí)行的文件,可能會導(dǎo)致stdcpp項目編譯不通過。
做這些動作之后,在VC2012的工程里選擇 build all就可以編譯所有文件出來。后面就可以在目錄sdccin_vc找到所有輸出文件,拷貝到sdccin就可以使用了,可以開始對51的程序進行開發(fā)和編譯了。