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