makefile檔案製作入門

來源:互聯網
上載者:User

一、首先,看一下最簡單的C檔案//hello.c檔案#include void main(){    printf("hello world\n");} 為hello.c編寫makefile檔案,這裡用gcc編譯

  • $vi makefile
  • hello:hello.c
  • gcc -o hello hello.c
從中可以看出,最簡單的makefile檔案只需要兩行,我們分別來看第1行:hello是要產生的檔案,hello.c是編譯需要的源檔案,中間以:分隔第2行:是具體的編譯命令二、我們還可以用gcc先把hello.c編譯成機器語言,以.o結尾,最後再將各個檔案進行連結產生二進位檔案   上面的makefile檔案則可以寫成這樣:
  • hello:hello.o
  • gcc -o hello hello.o
  • hello.o:hello.c
  • gcc -c hello.c
從上面的代碼中可以看出,最後編譯的hello是由hello.o最後產生的先看第3,4行:第3行,hello.c先編譯產生hello.o,第4行,是產生hello.o具體的命令再看第1,2行:第1行,二進位檔案hello需要hello.o,第2行,是產生hello具體的命令 是不是很easy. 三、如果有多個檔案需要進行連結,只需產生.o檔案,最後連結產生最終檔案如:有file1.h,file1.c, file2.h, file2.c, main.c五個檔案

makefile檔案如下:

  • main:main.o file1.o file2.o
  • gcc -o main main.o file1.o file2.o
  • main.o:main.c file1.h file2.h
  • gcc -c main.c
  • file1.o:file1.h file1.c
  • gcc -c file1.c
  • file2.o:file2.h file2.c
  • gcc -c file2.c
從上面代碼可以看出,需要先編譯出file1.o,file2.o,main.o檔案,最後連結產生最終的main檔案,大功告成。

 

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.