在編譯程序hello world的時(shí)候我們是直接使用gcc命令進(jìn)行編譯的。我們編譯一個(gè)程序是非常的簡(jiǎn)單的, 直接輸入 gcc 然后跟上程序的名稱(chēng)再跟上指定生成程序的名稱(chēng), 就可以很輕松的編譯出可執行文件。但是大家有沒(méi)有想過(guò),如果要編譯一個(gè)工程,這個(gè)工程里面有很多的源文件, 這時(shí)候我們全部使用這個(gè)命令來(lái)編譯那就非常的麻煩了。為了解決編譯一個(gè)工程非常繁瑣這個(gè)問(wèn)題,前輩們就給我們發(fā)明了編譯輔助工具 make工具。 1 使用make工具make 工具是編譯輔助工具, 用來(lái)解決使用命令編譯工程非常繁瑣的問(wèn)題。 調用這個(gè)命令工具: 我們在 windows 上編程使用 ide , 我們有圖形界面, 有相應的按鈕, 比如說(shuō) build或者 run 來(lái)編譯。 其實(shí) make 這個(gè)編譯輔助工具使用也是非常簡(jiǎn)單的, 我們在控制臺上直接輸入命令make, 它就會(huì )自動(dòng)調用 make 工具。 作者直接在這個(gè)目錄下輸入 make,然后報錯了, 因為我沒(méi)有告訴 make 這個(gè)工具它按照什么規則來(lái)編譯我們的程序。 如下圖所示。 2 Makefile文件Makefile 就是描述了整個(gè)工程編譯連接等規則的文件。 我們在終端輸入完 make 命令之后,會(huì )調用 make工具, make 就會(huì )在當前目錄按照文件名就會(huì )找 makefile 文件, Makefile 的命名必須是 makefile 或Makefile , m大寫(xiě)小寫(xiě)都是可以的。 作者剛才輸入命令報錯的原因是因為在當前目錄下是沒(méi)有 makefile 這個(gè)文件的, 作者這里新建一個(gè)Makefile 文件, 然后在當前目錄下輸入 make 命令, 我輸入完 make 命令, 它就會(huì )調用 make 工具, make工具就會(huì )在當前目錄下找到 makefile 這個(gè)文件, 這里又報錯了, 因為作者這里創(chuàng )建的 makefile 文件, 他雖然找到了但是里面是空的, 因為沒(méi)有包含任何的規則。 如下圖所示。 使用命令vi Makefile打開(kāi)Makefile文件,在里面寫(xiě)入編譯規格來(lái)編譯helloworld.c文件,我們寫(xiě)入以下內容: all: (按tab按鍵縮進(jìn)) gcc helloworld.c -o helloworld 保存退出后輸入make , 可以發(fā)現在當前這個(gè)目錄下, 成功的生成了可執行文件, 執行一下, 可以看到成功輸出了, 到這里我們的編譯流程就已經(jīng)講完了, 我們也成功的利用 makefile 文件和 make 工具,如下圖所示。 弄清楚了什么是make工具,怎么來(lái)調用 make 工具, makefile 又是什么之后。后面我們再學(xué)習 makefile 語(yǔ)法和編寫(xiě)makefile 時(shí),就非常的容易了。 迅為龍芯2k1000開(kāi)發(fā)板: 核心板參數: 尺寸:65mm*55mm CPU :龍芯2K1000雙核工業(yè)級處理器 主頻:800MHz-1GHz 內存:板載2GB DDR3 ,可選4GB 存儲:8MB的存儲,用來(lái)放BOOT引導程序的 系統支持:流暢運行vusybx、buiroot、Loognix、QT5.12系統。 引角擴展:引出腳多達232個(gè),1.0間距的郵票孔方式,滿(mǎn)足用戶(hù)各類(lèi)擴展需求
底板參數: 尺寸:190mm*125mm POWER:電直流電源輸入接口 SWITCH:電源開(kāi)關(guān) Ethernet:2 路10M/100M/1000M自適應以太網(wǎng) OTG:支持 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插座引出 耳機接口:標準3.5mm耳機接口 JTAG:1路JTAG調試接口(2mm間距10PIN插座引出) 固態(tài)硬盤(pán)接口:1路 (SATA固態(tài)盤(pán)選配) 按鍵:3個(gè) 風(fēng)扇驅動(dòng):支持
|