新手学习记录2:makefile学习实践--自定义变量的引入

makefile中的宏定义

makefile程序的一开始进行变量的宏定义,在编写编译程序的时候在进行变量的引用.

变量的定义和赋值的方法,如下:


EXE = file1.o file2.o
CC = gcc

变量的引用

main:$(EXE)
    $(CC) $(EXE) -o main
hello.o:hello.c  hello1.h
    $(CC) -c hello.c
hello1.o:hello1.c hello1.h
    $(CC) -c hello1.c

运行make后显示:
gcc -c hello.c
gcc -c hello1.c
gcc hello.o hello1.o -o main

./main看结果.

进一步改进,引入自定义变量
EXE=hello.o hello1.o
CC=gcc
CFLAGS = -Wall -O -g

main:$(EXE)
    $(CC) $(EXE) -o main
hello.o:hello.c  hello1.h
    $(CC) $(CFLAGS) -c hello.c
hello1.o:hello1.c hello1.h
    $(CC) $(CFLAGS) -c hello1.c

make后结果显示:

melody@melody-G41D3:~/make3$ make
gcc -Wall -O -g -c hello.c
gcc -Wall -O -g -c hello1.c
gcc hello.o hello1.o -o main
melody@melody-G41D3:~/make3$ ./main
myprint 1!

到此为止,自定义变量的引入已经正常.


gcc 参数的意义:
-c 
  只激活预处理,编译,和汇编,也就是他只把程序做成obj文件 
  例子用法: 
  gcc -c hello.c 
  他将生成.o的obj文件
-o 
  制定目标名称,缺省的时候,gcc 编译出来的文件是a.out,很难听,如果你和我有同感,改掉它,哈哈 
  例子用法 
  gcc -o hello.exe hello.c (哦,windows用习惯了) 
  gcc -o hello.asm -S hello.c

-g 
  只是编译器,在编译的时候,产生调试信息。
-w 不生成任何警告信息。 
-Wall 生成所有警告信息。
-E 只运行 C 预编译器。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值