C高级makefile使用

2016-10-27  本文已影响0人  I踏雪寻梅

C高级技术

makefile使用

#FINAL:=main
#OBJECTS:=a.o b.o #代表后面所有的依赖文件
#$(FINAL):$(OBJECTS)
#   gcc $^ -o $(FINAL)#$^代表左边第一个依赖文件
#a.o:a.c
#   gcc -c $< -o a.o 
#b.o:b.c
#   gcc -c $< -o b.o
#clean:
#   rm *.o $(FINAL)
FINAL:=main
OBJECTS:=a.o b.o #代表后面所有的依赖文件
$(FINAL):$(OBJECTS)
    gcc $^ -o $(FINAL)#$^代表左边第一个依赖文件
%.o:%.c
    gcc -c $< -o $@ 
clean:
    rm *.o $(FINAL)

多文件联合编译

#include <stdio.h>
#include "b.h"

- #include "b.h"理论上只能包含一次,但是如果重复包含了就会出现错误,所以我们使用#ifndef b_h--->#define b_h--->#endif.在第二次调用的时候,不符合#ifndef.所以不会重复出现.

extern int c;:extern外部找c,只起声明作用,表示当前用到得c要去外部文件找同名变量是用auto修饰的.
int main()
{
//  c=0;//得到的值为0

    printf("c=%d",c);
    return 0;
}

extern int sum(int,int);//因为i包含了头文件"c.h".

int main()
{
    int c=sum(1,2);
    printf("sum=%d\n",c);
    return 0;
}
上一篇 下一篇

猜你喜欢

热点阅读