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