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