歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux編程 >> Linux編程 >> Linux下C/C++程序開發管理(makefile)

Linux下C/C++程序開發管理(makefile)

日期:2017/3/1 9:12:11   编辑:Linux編程

一、引言

從我們剛開始編寫一個簡單的C/C++ "Hello,World!",到將其編譯、運行處結果—這部分工作IDE(集成開發環境)幫我們做了,包括語法錯誤檢查,編譯,調試,執行二進制程序。大部分時間我們只關注程序代碼本身的編寫,如何在Linux下對C/C++源代碼的 進行有效管理,包括編譯、鏈接、調試,make工具可以幫助我們完成這部分的工作。

二、從“Hello,World”說起

  1、執行單個源文件

一個編寫好的C或C++代碼源程序需要通過編譯、鏈接等步驟才能生成可執行的二進制文件。

例如:源文件:hello_world.c的源碼為:

      

     [1] 第一步:編譯生成目標文件 hello_world.o (gcc -c hello_world.c )

     [2] 第二步:鏈接(這裡只有一個hello_world.o)生成可執行文件hello_world(gcc -o hello_world hello_world.o)

  2、編譯多個源文件

   例如:源文件:hello_world.c say_ok.c 和main.c的源程序代碼為:

     

     需要對包含這個三個源程序文件項目生成可執行文件main

     [1] 生成目標對象文件(OBJ):

     [2] 鏈接生成可執行文件main:

三、管理多個源程序文件

   通常我們在編寫項目的時候不可能只有一個源文件程序(main.c/main.cpp),一般情況下會有多個源文件(.c/.cpp)和頭文件需要管理。正如前面所描述的如果有三個源文件hello_world.c, say_ok.c, main1.c,每次當我們對源碼修改過後,都必須重新運行一遍所有的編譯命令,試 想一 下如果文件不止三個,而是有很多個的時候......這將對程序員無疑是一個災難。所以,我們必須尋求一個有效的的程序源碼管理方式—make機制可以幫助我們解決這個問題。

1、make

make命令是系統管理員和程序員用的最頻繁的命令之一。管理員用它通過命令行來編譯和安裝很多開源的工具,程序員用它來管理他們大型復雜的項目編譯問題。

  2、makefile文件書寫格式

    目標:原料

    <Tab>加工方法

3、makefile實例

4、make常用選項

   [1]-B 選項: make 命令不會編譯那些自從上次編譯之後就沒有更改的文件,但是,如果你想覆蓋 make 這種默認的行為,可以使用-B選項

   [2]-g選項:調試選項,用於GDB調試

   [3]clean: 清除所有當前的對象文件好和執行文件

Copyright © Linux教程網 All Rights Reserved