1. 程式人生 > >go語言編譯器詳解

go語言編譯器詳解

這裡以Windows7 64位為例,如果是32位環境需安裝對應版本程式。

一、安裝golang1.2.2

1.3及1.3.1編譯生成的二進位制檔案,無法使用LiteIDE23.2攜帶的gdb7.7進行除錯。



二、安裝及配置LiteIDE

將liteidex23.2.windows.7z解壓到D:\即完成安裝。

2.1 設定編輯環境

因為是64位環境,所以選擇“win64”。

檢視->編輯環境變數,確認GOROOT變數與GO安裝路徑一致。

 

2.2 新增GOPATH

檢視->管理GOPATH...,建立新目錄E:\Code_Repository\golang,並新增到“自定義目錄”。



2.3 新建專案

選擇上一步新增的GOPATH,模板為Go1 Command Project


編輯原始碼,新增幾行程式碼,包括變數宣告、初始化及賦值,用來驗證除錯是否生效。


2.4 設定編譯選項及編譯

編譯->編譯配置,設定編譯引數。在BUILDARGS新增-gcflags "-N -l",目的是去掉編譯優化,方便除錯。


Ctrl+B構建專案,生成hello.exe


2.5 除錯程式

按F5啟動除錯,程式在main函式處停止


通過F10單步除錯,可以看到i、j的變化(好像會稍微延遲那麼0.X秒)




三、安裝及配置GoClipse
GoClipse是Eclipse的一個外掛,當前0.8.0版本要求Java 7及Eclipse4.3

3.1 安裝jre-7u67-windows-x64.exe

3.2 下載解壓Eclipse IDE for C/C++ Developers

GoClipse依賴CDT元件(應該除錯時需要?),因此下載解壓eclipse-cpp-luna-R-win32-x86_64.zip。

如果使用的是其它程式碼版本的IDE,還需要安裝CDT元件。

3.3 安裝GoClipse

2種方法:一種是通過Eclipse的Install New Software,另一種是直接下載GoClipse包解壓到Eclipse目錄。

方法1:

https://github.com/GoClipse/releases/raw/master/

記住:只將plugins和features兩個目錄解壓到Eclipse目錄即可,

千萬別把其中的artifacts.jarcontent.jar也放到Eclipse目錄下,這會導致Preferences不顯示Go配置項,即使刪掉這兩個檔案重啟也沒用!



3.4 配置GoClipse

因為GoClipse及Eclipse都沒有附帶gdb和gocode,可以使用LiteIDE包中的這兩個程式。解壓liteidex23.2.windows.7z到D:\,後續配置時可以瀏覽到其中的檔案。

也可以使用其它方式安裝gdb和gocode,因為使用LiteIDE中程式是最方便的,其它方法就不介紹了。

Browse...瀏覽到Go的安裝目錄,Go Tools三個路徑會自動填充。

 

目前0.8.0版本GoClipse沒有提供build引數設定,為了方便除錯程式,需要在編譯時增加-gcflags "-N -l"取消優化。

可以通過bat檔案對呼叫“Go tool path(go)”進行封裝以提供build配置,建立批處理檔案go.bat放置在go.exe所在目錄。

假設呼叫的引數最多為5個(目前GoClipse中呼叫go好像只用build選項,下面的else分支似乎是不必要的)

修改“Go tool path(go)”為go.bat

 

配置gocode

 

3.4 新建專案

編輯原始碼後儲存,Eclipse預設自動構建專案,從Console可以看出呼叫的是go.bat build進行構建。

3.5 除錯程式

按F11啟動除錯,介面好像沒有什麼響應,多按幾次會顯示以下視窗

 

這個時候Preferences才能看到GDB配置項(很神奇),“GDB debugger”瀏覽到LiteIDE中的gdb

 

回到原始碼編輯器,按F11重新啟動除錯。

配置在main函式啟動處停止會以下提示資訊,找不到原始檔(這麼奇葩的路徑不知哪來的) 。

 

可以點選“Locate File..."瀏覽到Go安裝包中對應的檔案。

繼續單步除錯可以看到i、j值的變化

 

參考文件: