歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
您现在的位置: Linux教程網 >> UnixLinux >  >> Linux編程 >> Linux編程

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

一、引言

         從我們剛開始編寫一個簡單的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