Ubuntu下makefile的簡單使用


在Windows下,只需要簡單的點擊以下make,rebuild即可。而在Linux下,這樣的IDE環境並沒有提供,難道必須每一步都執行一遍嗎?比較ok的做法自然是能夠利用批處理腳本來進行操作了,這樣,只需要修改腳本中需要編譯的文件即可。在Linux下,提供了這么一個方便的工具,make。那么接下來我們來利用make進行程序的組織編譯吧。

1. 編寫tool.h

#ifndef __TOOL_H
#define __TOOL_H

void printInteger(int number);

#endif // end of tool.h

 2. 編寫tool.c

#include "tool.h"
#include "stdio.h"

void printInteger(int number)
{
        printf("the number is:%d\n",number);
}

 3. 編寫main.c

#include "tool.h"
#include "stdio.h"

int main(int argc, char* argv[])
{
        int number;
        number=10;
        printf("Context-Type:text/html\n\n");
        printInteger(number);
        return 0;
}

 4. 編譯鏈接文件生成可執行文件main

方法1:

命令行中進行編譯

4.1.1 編譯main.c生成main.o

sudo cc -c main.c

 4.1.2 編譯tool.c生成tool.o

sudo cc -c tool.c

 4.1.3 鏈接main.o和tool.o生成main可執行文件

sudo cc -o main main.o tool.o

 4.1.4 運行main

sudo ./main

 方法2:

makefile進行編譯鏈接

4.2.1 編寫makefile文件(沒有后綴名)

#MakeFile
main:  main.o tool.o

main.o: main.c tool.h
        cc -c main.c

tool.o: tool.c tool.h
        cc -c tool.c

.PHONY:clean
clean:
        rm *.o main

 4.2.2 運行make進行編譯鏈接

sudo make

 4.2.3 運行main

sudo ./main

 4.2.4 刪除所有.o文件並再次編譯

sudo make clean
sudo make

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM