go 編譯過程 day01

2021-10-11 08:46:22 字數 1719 閱讀 5871

將高階語言編譯成機器可以執行的語言的過程

go語言編譯方式:

go build 源**.

go

go run 源**.

go

//交叉編譯

cgo_enabled=0 goos=linux goarch=amd64 go build main.go

編譯流程:

源**(source code) →預處理器(preprocessor) →編譯器(compiler) →目標**(object code) →鏈結器(linker) →可執行程式(executables)

通過gcc檢視編譯過程:

//一步編譯

gcc 源**.c -o 可執行程式.exe

分布編譯:

//預處理

gcc -e 原始碼.c -o 預處理.i

//編譯

gcc -s 預處理.i -o 彙編.s

//彙編

gcc -c 彙編.s -o 二進位制.o

//鏈結

gcc 二進位制.o -o 可執行程式

是一種程式語言,採用助記符幫助執行**

.data                          ;此為資料區

sum dword 0 ;定義名為sum的變數

.code ;此為**區

main proc

mov eax,3 ;將數字3送入而eax暫存器

add eax,4 ;eax暫存器加4

mov sum,eax

invoke exitprocess,0 ;結束程式

main endp

c語言巢狀組合語言:

#include

intmain()

printf

("a:%d\n"

, a)

;printf

("b:%d\n"

, b)

;printf

("c:%d\n"

, c)

;return0;

}

cgo混合程式設計:

package main

//使用場景:在程式設計時有c語言已經實現好的庫

//可以在go語言中呼叫c** 實現對應的庫的呼叫

/*//c語言函式

#include void sayhello()

*/import

"c"func

main()

然後執行

//交叉編譯

cgo_enabled=0 goos=linux goarch=amd64 go build main.go

Go語言基本語法與使用 day01

變數的功能是儲存使用者的資料。不同的邏輯有不同的物件型別,也就有不同的變數型別。標準格式 go語言的變數宣告格式為 var 變數名 變數型別變數宣告以關鍵字var開頭,後置變數型別,行尾無須分號。批量格式 批量宣告變數的格式如下 var a int b string c float32 d func...

學習筆記day01

作業系統簡稱 operating system 簡稱os 其的本質就是乙個軟體,作業系統對上可以管理應用程式,對下可以訪問硬體裝置。主流的作業系統 pc機領域 windows系列,ios,伺服器領域 linux系列,unix,windows server。手持裝置 ios,android,塞班,wi...

測試day01整理

對比國內外現狀,和國際知名企業來說,微軟的開發人員和測試人員的比例是1 2,而國內的現狀是20 1,國內企業比較好點的也才是2 1,所以根據國內發展的必然趨勢,測試在未來幾年內國內的需求是大大增加的。當前的軟體行業已經不是功能為王了,使用者不僅僅只盯著功能是否滿足需求,還會對軟體容易上手,執行效率是...