makefile的相关使用

Makefile编译,gdb调试(用文本打开,用vim打开会出现tab变空格的现象)
Make clean :清除以前的文件

使用技巧

先输入"make"进行编译
再输入"./文件名+命令行指令"
eg: ./runsort 100000

书写要点

test (目标生成文件): test.cpp(依赖生成文件)
(Tab)g++ test.cpp -o test(命令)

  1. 基础操作
    main : main.c tool.o
    gcc main.c tool.o -o main(将tool.o和main.c文件合并出来)
    tool.o:tool.c
    gcc -c tool.c
    clean:(需要自己在终端写make clean 进行删除)
    rm *.o main(删除所有的.o文件与生成的可执行文件main)

  2. foo.c使用foo.h头文件
    main:main.c foo.o bar.o
    gcc main.c foo.o bar.o -o main
    foo.o:foo.c
    gcc -c foo.c
    bar.o:bar.c
    gcc -c bar.c
    clean:
    rm *.o main

  3. 定义变量代替编译器
    CC=gcc
    main:main.c foo.o bar.o
    $(CC) main.c foo.o bar.o -o main
    foo.o:foo.c
    $(CC) -c foo.c
    bar.o:bar.c
    $(CC) -c bar.c
    clean:
    rm *.o main

  4. 加入其他指令
    CC=gcc
    CFLAS= -lm -Wall -g
    main:main.c foo.o bar.o
    $(CC) $(CFLAS) main.c foo.o bar.o -o main
    foo.o:foo.c
    $(CC) $(CFLAS) -c foo.c
    bar.o:bar.c
    $(CC) $(CFLAS) -c bar.c
    clean:
    rm *.o main

  5. 编译多个可执行文件
    CC=gcc
    CFLAS= -lm -Wall -g
    all:main_i main_a
    main_i:main_i.c foo.o bar.o
    $(CC) $(CFLAS) main_i.c foo.o bar.o -o main_i
    main_a:main_a.c foo.o bar.o
    $(CC) $(CFLAS) main_a.c foo.o bar.o -o main_a
    foo.o:foo.c foo.h
    $(CC) $(CFLAS) -c foo.c
    bar.o:bar.c bar.h
    $(CC) $(CFLAS) -c bar.c
    clean:
    rm *.o main_i main_a

要生成rs可执行文件的最终代码

CFO=main.o append.o cacute.o classfy.o d_id.o fileop.o m_id.o print.o search.o sort.o
CFG=cici.h zizi.h
rs: cici.h $(CFO) 
	g++ $(CFO) -o rs
main.o:main.cpp $(CFG)
	g++ -c main.cpp -o main.o
append.o:append.cpp $(CFG)
	g++ -c append.cpp -o append.o
cacute.o:cacute.cpp $(CFG)
	g++ -c cacute.cpp -o cacute.o
classfy.o:classfy.cpp $(CFG)
	g++ -c classfy.cpp -o classfy.o
d_id.o:d_id.cpp $(CFG)
	g++ -c d_id.cpp -o d_id.o
fileop.o:fileop.cpp $(CFG)
	g++ -c fileop.cpp -o fileop.o
m_id.o:m_id.cpp $(CFG)
	g++ -c m_id.cpp -o m_id.o
print.o:print.cpp $(CFG)
	g++ -c print.cpp -o print.o
search.o:search.cpp $(CFG)
	g++ -c search.cpp -o search.o
sort.o:sort.cpp $(CFG)
	g++ -c sort.cpp -o sort.o
clean:
	rm *.o rs 
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值