天天看點

c++ 編譯器_工欲善其事,必先利其器!打造自己的C/C++編譯器一、 目前編譯器的三種主流形式二、打造自己的專用經典C編譯器(簡易級)三、打造自己的專用經典C編譯器(輕量級)三、打造自己的專用經典C編譯器(重量級)

一、 目前編譯器的三種主流形式

做開發的,不論是閱讀代碼、編寫程式總會涉及到編譯器問題,我也經曆過了TC、VC6、VC2010、CodeBlocks等等,使用過很多軟體,最後慢慢的形成了自己的一套系統,希望對你也有幫助。

常見的C編譯器主要的方式有以下三種:

1、基于文本編輯器改造的編譯器

專業文本編輯器:

(1)Visual Studio Code

Visual Studio Code (簡稱 VS Code)是由微軟研發的一款免費的、輕量級的Web內建開發環境,且開源的跨平台文本(代碼)編輯器,能運作在Linux、Mac 、Windows系統上。在智能提示變量類型,函數定義,子產品方面繼承了visio studio的優秀傳統,在斷點調試上也有不錯的表現。

用于簡單級有點複雜,體積稍顯大,用于輕量級還不是內建開發環境。

(2)Notepad++

Notepad++ 是一款非常有特色的編輯器,軟體小巧高效,支援27種程式設計語言,通吃C,C++ ,Java ,C#, XML, HTML, PHP,JS 等,缺點對C語言來說,文法完成等功能還是稍顯不足,文本編輯功能、定制化能力與 UltraEdit還有差距。

(3) UltraEdit

UltraEdit 是一套功能強大的文本編輯器,可以編輯文本、十六進制、ASCII 碼,完全可以取代記事本(如果電腦組態足夠強大),内建英文單字檢查、C/C++文法高亮,文法自動完成,文法檔案定制,可同時編輯多個檔案,而且即使開啟很大的檔案速度也不會慢。

我們輕量級的編譯器就是基于UltraEdit,利用他的強大功能,再加入編譯功能,就完成了一個輕量級的強大編譯器,能夠支援各種語言和編譯器!

(4)VIM

VIM廣泛使用于UNIX或者LINUX系統中,他的最大特色是完全使用鍵盤指令進行編輯,對于喜歡指令行的人來說是非常強大的工具,對于習慣于Windows的操作方式來說很難适應。

(5)Emacs

Emacs和VIM類似,具有内置的宏功能以及強大的鍵盤指令,他能做的事情非常多,功能非常強大,能夠集合整個開發環境并調試程式。Emacs支援對多種文字的文本編輯、跨平台,是深受Coder喜歡的一款編輯器。

(6)Sublime Text

它最初被設計為一個具有豐富擴充功能的Vim,Sublime Text具有漂亮的使用者界面和強大的功能,支援多種程式設計語言的文法高亮、擁有優秀的代碼自動完成功能。Sublime Text同樣支援豐富的插件擴充。

對于習慣Windows的使用者還是不習慣!對于一切隻用鍵盤操作的使用者來說是福音。

(8)EditPlus

EditPlus和notepad++類似,能夠提供文本、HTML以及其他程式語言編輯的功能;界面也相當的簡便快捷,支援多标簽,可以輕松編輯多個文檔。

我們也可以可用它做輕量化的編譯器,雖然功能不如UltraEdit,但是勝在體積小巧和簡單1

選擇優秀的文本編輯器,在利用GCC、VC等編譯器構成開發環境。主要是利用文本編輯器的代碼自動完成、文法高亮、完善的編輯功能。因為通過工具添加編譯功能,是以一般隻能完成簡單的編譯功能,很難完成複雜的調試,多檔案編譯等進階功能。但是體積小,代碼編寫效率高,使用簡便!

這個對于新手用到的功能不多,用來學習非常好用;老手已經不需要那些複雜的功能了,隻要提高代碼的編寫效率,注重使用友善,也是非常得力的工具。

2、非商業化的輕量級編譯器

一些非商業的公司一直在開發,功能也很不錯,但是一般都是免費非商業化的,是以道路艱難坎,C比較經典的是Dev-C++,雖然沒有VC功能繁多,但是對于學習C/C++已經具備了比較好的功能,具有完善的內建開發環境,調試功能等,文本編輯器不如專業文本編輯器好用,一般體積幾百兆稍顯大了點,但是好在內建開發安環境,該有的都有了!

3、重量級商業編譯器

微軟的VS系列,這個我們不需多說!

二、打造自己的專用經典C編譯器(簡易級)

文本編輯器選擇UltraEdit,版本選擇早期的32位版本(我用的是版本 21.30.0.1024),為什麼不用最新的版本,這個版本支援XP到最新的win10,在32和64位系統上均能運作,相容性非常好。當然你可以根據自己的情況選用合适的版本!

除了功能強大,還可以做成綠色的,可以移動,拷貝使用,非常友善!

1、配置環境變量

定制編譯器的第一個重要步驟就是配置環境變量,通常有三種方式

(1)手工在Windows系統下添加環境變量

(2)通過批處理設定臨時環境變量

vc6和VC2010等都使用這種方式,我們的編譯器也使用的這種方式。

(3)自動智能方式

通過一個小程式,來檢測環境和設定環境變量,好處是,編譯器可以安裝在任何目錄,而且可以随時可以整體移動到其它目錄,移動後執行以下變量設定程式既可。

環境變量主要設定三個目錄:

bin: 編譯器所在的目錄

include: 頭檔案等包含檔案目錄

lib :庫檔案的目錄

bin目錄中vc6_sgb.bat檔案内容:

@echo off set path=%path%;D:ueC06Binset INCLUDE=D:ueC06Includeset LIB=D:ueC06Lib
           

把上述内容複制到記事本内,儲存成vc6_sgb.bat既可,然後放在bin檔案夾内。

2、準備編譯器檔案

我們選用了VC6做編譯器,我們也做了基于VC2010的,但是為簡單起見,我們以VC6做說明,

首先我們給編譯器檔案建立一個檔案夾C06,然後安裝VC++6.0或者從其他機器上拷貝以下幾個檔案夾到C06内。

(1) bin檔案夾

c++ 編譯器_工欲善其事,必先利其器!打造自己的C/C++編譯器一、 目前編譯器的三種主流形式二、打造自己的專用經典C編譯器(簡易級)三、打造自己的專用經典C編譯器(輕量級)三、打造自己的專用經典C編譯器(重量級)

圖1:bin檔案夾内檔案

其中vc6_sgb.bat和clea.bat分别是環境變量設定和清楚檔案功能的批處理,

(2) include 檔案夾

(3)lib檔案夾

/lib/kernel32.lib是從VC6.0中拷貝過來的,沒有這個檔案不能編譯。

c++ 編譯器_工欲善其事,必先利其器!打造自己的C/C++編譯器一、 目前編譯器的三種主流形式二、打造自己的專用經典C編譯器(簡易級)三、打造自己的專用經典C編譯器(輕量級)三、打造自己的專用經典C編譯器(重量級)

圖2:LIB彙總的檔案

3、配置編譯器

安裝UltraEdit後,我們複制一份安裝後的檔案夾,存放在D:ue下,這是為了制造綠色版,你如果不想移動使用,可以安裝後就不用管,直接配置既可。

打開UltraEdit,點選“進階”菜單,在彈出的下拉才當中選擇“工具配置”,會彈出工具配置對話框,點選”指令”頁籤,設定如圖3

(1)、編譯配置

c++ 編譯器_工欲善其事,必先利其器!打造自己的C/C++編譯器一、 目前編譯器的三種主流形式二、打造自己的專用經典C編譯器(簡易級)三、打造自己的專用經典C編譯器(輕量級)三、打造自己的專用經典C編譯器(重量級)

圖3:編譯的指令頁籤配置

1)“指令”頁籤

“菜單項名稱”下的文本框填寫:編譯

“指令行”下文本框填寫:D:ueC06binvc6_sgb.bat & cl %n%e

“工作目錄”下文本框填寫:%p

“工具欄位圖示”下文本框填寫:D:ueicobuid.png

這個是給編譯弄一個圖示,直接選擇圖示的位置就可以了。

2)“選項”頁籤

c++ 編譯器_工欲善其事,必先利其器!打造自己的C/C++編譯器一、 目前編譯器的三種主流形式二、打造自己的專用經典C編譯器(簡易級)三、打造自己的專用經典C編譯器(輕量級)三、打造自己的專用經典C編譯器(重量級)

圖4:編譯的’選項’頁籤設定

3)“輸出”頁籤

c++ 編譯器_工欲善其事,必先利其器!打造自己的C/C++編譯器一、 目前編譯器的三種主流形式二、打造自己的專用經典C編譯器(簡易級)三、打造自己的專用經典C編譯器(輕量級)三、打造自己的專用經典C編譯器(重量級)

圖5:編譯的輸出頁籤設定

(2)、運作配置

1)“指令”頁籤

c++ 編譯器_工欲善其事,必先利其器!打造自己的C/C++編譯器一、 目前編譯器的三種主流形式二、打造自己的專用經典C編譯器(簡易級)三、打造自己的專用經典C編譯器(輕量級)三、打造自己的專用經典C編譯器(重量級)

圖6:運作的指令頁籤配置

“菜單項名稱”下的文本框填寫:運作

“指令行”下文本框填寫:%n

“工作目錄”下文本框填寫:%p

“工具欄位圖示”下文本框填寫:D:ueicoun.jpg

這個是給運作弄一個圖示,直接選擇圖示的位置就可以了。

2)“選項”頁籤

c++ 編譯器_工欲善其事,必先利其器!打造自己的C/C++編譯器一、 目前編譯器的三種主流形式二、打造自己的專用經典C編譯器(簡易級)三、打造自己的專用經典C編譯器(輕量級)三、打造自己的專用經典C編譯器(重量級)

圖7:運作的’選項’頁籤設定

3)“輸出”頁籤

c++ 編譯器_工欲善其事,必先利其器!打造自己的C/C++編譯器一、 目前編譯器的三種主流形式二、打造自己的專用經典C編譯器(簡易級)三、打造自己的專用經典C編譯器(輕量級)三、打造自己的專用經典C編譯器(重量級)

圖8:運作的輸出頁籤配置

(3)、清除配置

1)“指令”頁籤

c++ 編譯器_工欲善其事,必先利其器!打造自己的C/C++編譯器一、 目前編譯器的三種主流形式二、打造自己的專用經典C編譯器(簡易級)三、打造自己的專用經典C編譯器(輕量級)三、打造自己的專用經典C編譯器(重量級)

圖9:“清除”的“指令”頁籤設定

“菜單項名稱”下的文本框填寫:清除

“指令行”下文本框填寫:D:ueC06binclea.bat

“工作目錄”下文本框填寫:%p

“工具欄位圖示”下文本框填寫:D:ueicoclean.jpg

這個是給清除弄一個圖示,直接選擇圖示的位置就可以了。

clea.bat檔案内容如下:

@echo off del *.objdel *.exedel *.optdel *.ncbdel *.plgdel *.dswdel *.dsprd/s/q Debug
           

把杉樹内容複制到記事本内,儲存為clea.bat既可,然後放入bin目錄内

2)“選項”頁籤

c++ 編譯器_工欲善其事,必先利其器!打造自己的C/C++編譯器一、 目前編譯器的三種主流形式二、打造自己的專用經典C編譯器(簡易級)三、打造自己的專用經典C編譯器(輕量級)三、打造自己的專用經典C編譯器(重量級)

圖10:“清除”的“選項“”設定

3)“輸出”頁籤

c++ 編譯器_工欲善其事,必先利其器!打造自己的C/C++編譯器一、 目前編譯器的三種主流形式二、打造自己的專用經典C編譯器(簡易級)三、打造自己的專用經典C編譯器(輕量級)三、打造自己的專用經典C編譯器(重量級)

圖11:"清除"的“輸出”頁籤設定

為了使用友善,通過“定制工具欄”把這三個工具按鈕添加到工具欄上,添加後如圖12

c++ 編譯器_工欲善其事,必先利其器!打造自己的C/C++編譯器一、 目前編譯器的三種主流形式二、打造自己的專用經典C編譯器(簡易級)三、打造自己的專用經典C編譯器(輕量級)三、打造自己的專用經典C編譯器(重量級)

圖12:添加到工具欄上後的樣子

紅圈内,左邊是編譯,中間是運作,右邊的是清除

4、測試編譯

點選:“編譯”按鈕,顯示13顯示編譯成功。

c++ 編譯器_工欲善其事,必先利其器!打造自己的C/C++編譯器一、 目前編譯器的三種主流形式二、打造自己的專用經典C編譯器(簡易級)三、打造自己的專用經典C編譯器(輕量級)三、打造自己的專用經典C編譯器(重量級)

圖13:編譯成功

點選:“運作”按鈕,顯示14顯示運作的結果,程式運作正常

c++ 編譯器_工欲善其事,必先利其器!打造自己的C/C++編譯器一、 目前編譯器的三種主流形式二、打造自己的專用經典C編譯器(簡易級)三、打造自己的專用經典C編譯器(輕量級)三、打造自己的專用經典C編譯器(重量級)

圖14:測試運作功能

除了可以作為C/C++編譯器,還可以配置為Java,Keil C編編譯器,其它功能還在完善和怎增加中。

三、打造自己的專用經典C編譯器(輕量級)

我們選用Dev-C++作為輕量級的C/C++編譯器,可以到官方下載下傳最新版本,安裝的時候是英語,安裝完後可以選擇簡體中文語言。其它不再贅述。

三、打造自己的專用經典C編譯器(重量級)

在上一篇文章“核心技術-調試”中我們已經給出了用VC2010程式設計的例子,再次不再贅述,請參看以前的文章。

一般的代碼編、閱讀和C學習,直接使用輕量級的編譯器,遇到複雜程式或者調試程式使用輕量級或者重量級編譯器。

喜歡的朋友可以直接聯系我所要配置好的編譯器!

本文屬于原創首發,版權歸作者所有,請勿用于商業用途!

繼續閱讀