gcc 全稱(gnu compiler collection) 即編譯套件, gcc可以支持多種計算機體系結(jié)構(gòu), 比如 X86、 ARM 、MIPI .在12.2章節(jié)中我們在ubuntu系統(tǒng)下安裝了gcc編譯器,所以可以直接輸入以下命令gcc -v來查看gcc的版本,如下圖所示: 比如我們在12.2章節(jié)中,使用命令gcc helloworld.c -o helloworld將c程序編譯成可執(zhí)行程序使用的就是gcc編譯器,命令格式為: gcc 選項 文件名 o 參數(shù)為指定生成文件的文件名 舉例: 將 helloworld.c 編譯得到helloworld,使用命令sudo gcc helloworld.c -o helloworld。編譯完成后使用命令./helloworld來運行helloworld可執(zhí)行程序,如下圖所示: 從 c程序編譯得到可執(zhí)行程序要經(jīng)歷四個步驟,分別是:預處理,編譯,匯編,鏈接。在這四個步驟下我們可以得到三種類型的文件,分別是xxx.i(預處理得到的C語言代碼),xxx.s(匯編語言代碼),xxx.o(目標文件)。接下來我們就逐步來編譯可執(zhí)行文件。 第一階段:預處理階段,在預處理階段,編譯會對頭文件或者宏定義進行展開,或者是條件編譯進行選擇。 使用命令sudo gcc -E helloworld.c -o helloworld.i可以得到預處理后的文件,-E參數(shù)是只對文件進行預處理,不編譯和鏈接。如下圖所示: 第二階段:編譯,在編譯階段會把文件編譯成匯編代碼。 使用命令sudo gcc -S helloworld.i -o helloworld.s,參數(shù)-S是將.i文件編譯成.s文件,如下圖所示: 第三階段:匯編,把匯編文件編譯成機器碼。 使用命令sudo gcc -c helloworld.s -o helloworld.o,參數(shù)-c可以把.s文件編譯成.o文件,如下圖所示: 第四階段:鏈接 使用命令 sudo gcc helloworld.o -o helloworld。這里使用的是動態(tài)鏈接。 迅為龍芯2K1000開發(fā)板: 核心板參數(shù): 尺寸:65mm*55mm CPU :龍芯2K1000雙核工業(yè)級處理器 主頻:800MHz-1GHz 內(nèi)存:板載2GB DDR3 ,可選4GB 存儲:8MB的存儲,用來放BOOT引導程序的 工作電壓:12V和5V 系統(tǒng)支持:流暢運行vusybx、buiroot、Loognix、QT5.12系統(tǒng)。 引角擴展:引出腳多達232個,1.0間距的郵票孔方式,滿足用戶各類擴展需求 底板參數(shù): 尺寸:190mm*125mm POWER:電直流電源輸入接口 SWITCH:電源開關(guān) Ethernet:2 路10M/100M/1000M自適應(yīng)以太網(wǎng) USB HOST:4路USB2.0 OTG:支持 Mini HDMI:支持 RGB-LCD:支持 Mini PCIE:可外接mini PCIE接口的4G模塊,具備PCIE2.0單通道 4G模塊 :支持 (選配) SIM Card:1個 UART:2路串口 RS485:1路 CAN:2路 蜂鳴器:一個有源蜂鳴器 RTC:支持 LIO/UART:2mm間距20PIN插座引出 GPIO :2mm間距20PIN插座引出 耳機接口:標準3.5mm耳機接口 JTAG:1路JTAG調(diào)試接口(2mm間距10PIN插座引出) GPS:一路GPS (選配) 固態(tài)硬盤接口:1路 (SATA固態(tài)盤選配) 按鍵:3個 溫度傳感器:支持 風扇驅(qū)動:支持 |