IDE通常用于Windows下的編譯,而gcc用于直接在Linux下的編譯。
編譯過(guò)程是Linux嵌入式編程的基礎(chǔ),也是嵌入式高頻基本面試問(wèn)題。
1.命令行編譯和每個(gè)細(xì)分的編譯過(guò)程hello.c示例代碼:#include int main(void){printf(“ Hello world ”); return 0;}編譯:gcc hello.c -o hello如有必要,您需要回答幾個(gè)細(xì)分的步驟:gcc -E hello.c -o hello.i#預(yù)處理階段gcc -S hello .i -o hello.s#編譯階段gcc -c hello.s -o hello.o#匯編階段gcc hello.o -o hello#鏈接階段的詳細(xì)信息可以在前面的說(shuō)明中找到:二。
當(dāng)使用make編譯少量文件時(shí),可以使用上述方法進(jìn)行編譯。
當(dāng)有許多源文件時(shí),您可以借用make工具。
Make通過(guò)解析Makefile文件執(zhí)行一些gcc命令進(jìn)行編譯。
首先,必須創(chuàng)建一個(gè)Makefile文件,例如:hello:hello.c gcc hello.c -o hello編譯并運(yùn)行:將上述編譯過(guò)程細(xì)分的Makefile文件如下:有關(guān)make和Makefile的更多信息,請(qǐng)請(qǐng)參考:[Linux注釋]生成項(xiàng)目管理工具(1)[Linux注釋]生成項(xiàng)目管理工具(2)3.使用CMake生成Makefile。
在實(shí)際開發(fā)中,很少像上面那樣編寫Makefile,但是可以使用cmake生成它。
CMake是一個(gè)跨平臺(tái)的安裝(編譯)工具,可以用簡(jiǎn)單的語(yǔ)句描述所有平臺(tái)的安裝(編譯過(guò)程)1.命令行操作首先輸入cmake --version命令以查看cmake版本(如果尚未安裝),執(zhí)行以下命令進(jìn)行安裝:sudo apt install cmake讓我們開始實(shí)驗(yàn)演示。
在cmake_test文件夾hello.c文件中有一個(gè)文件,在同一文件夾中創(chuàng)建CMakeLists.txt文件:輸入以下內(nèi)容:cmake_minimum_required(VERSION 3.10.2)project(cmake_test)add_executable(cmake_test hello.c),然后輸入以下命令在cmake_test目錄中生成Makefile文件:mkdir build#創(chuàng)建build文件夾cd build#輸入build文件夾cmake ../#在cmake_test文件夾下生成Makefile執(zhí)行的結(jié)果如下:對(duì)特定文件感興趣的朋友CMakeLists.txt文件的語(yǔ)法可以參考該信息以進(jìn)行學(xué)習(xí)。
2.使用cmake-gui上面是使用cmake生成Makefile以便在命令行下進(jìn)行編譯的方法。
我們還可以使用圖形界面生成Makefile文件。
cmake-gui是cmake的圖形工具。
以下仍然是一個(gè)示例作為演示。
我們將上一節(jié)中的CMakeLists.txt和hello.c文件放入新創(chuàng)建的文件夾cmake-gui_test:在終端中輸入cmake-gui命令以啟動(dòng)cmake-gu圖形工具。
如果尚未安裝,則可以輸入以下命令進(jìn)行安裝:sudo apt install cmake-qt-gui,例如:start cmake-gui:檢查cmake-gui_test文件夾:編譯并運(yùn)行:上面共享了一些編譯過(guò)程和方法,這些都是基本內(nèi)容。
需要精通。
如果您認(rèn)為本文對(duì)您有所幫助,請(qǐng)轉(zhuǎn)發(fā)。
-END-來(lái)源:嵌入式大雜燴,作者:ZhengNL建議閱讀[01] C語(yǔ)言內(nèi)存泄漏非常嚴(yán)重,該如何處理? [02]要編譯C語(yǔ)言程序,請(qǐng)使用gcc指令,而C ++程序建議使用g ++指令! [03] C語(yǔ)言:優(yōu)雅的字符串函數(shù)庫(kù)[04]在C語(yǔ)言中,請(qǐng)記住要初始化局部變量! [05]嵌入式編程應(yīng)使用C ++而不是C語(yǔ)言