编写C程序
vim hello.c
#include <stdio.h>
int main(int argc, char *args[])
{
printf("Hello World!\n");
return 0;
}
~
编译C程序
gcc hello.c -o hello
Make工具Makefile文件
add.c 文件
#include <stdio.h>
#include "input.h"
#include "calcu.h"
int main(int argc, char *args[])
{
int a,b,sum;
input_int(&a,&b);
sum = calcu(a, b);
printf("%d\n", sum);
return 0;
}
~
input.c 文件内容如下:
#include <stdio.h>
#include "input.h"
void input_int(int *a, int *b)
{
printf("input two num:");
scanf("%d %d", a, b);
printf("\r\n");
}
calcu.c 文件内容如下:
#include "calcu.h"
int calcu(int a, int b)
{
return (a + b);
}
文件 input.h 内容如下:
#ifndef _INPUT_H
#define _INPUT_H
void input_int(int *a, int *b);
#endif
文件 calcu.h 内容如下:
#ifndef _CALCU_H
#define _CALCU_H
int calcu(int a, int b);
#endif
如果使用gcc的方法进行编译
gcc main.c calcu.c input.c -o main
Makefile:
main: main.o input.o calcu.o
gcc -o main main.o input.o calcu.o
main.o: main.c
gcc -c main.c
input.o: input.c
gcc -c input.c
calcu.o: calcu.c
gcc -c calcu.c
clean:
rm *.o
rm main
Makefile语法
目标…... : 依赖文件集合……
命令 1
命令 2
……
命令列表中的每条命令必须以 TAB 键开始,不能使用空格
Makefile 变量
#Makefile 变量的使用
objects = main.o input.o calcu.o
main: $(objects)
gcc -o main $(objects)
1、赋值符“=”
使用“=”在给变量的赋值的时候,不一定要用已经定义好的值,也可以使用后面定义的值
2、赋值符“:=”
不会使用后面定义的变量,只能使用前面已经定义好的,这就是“=”和“:=”两个的区别。
3、赋值符“?=”
如果变量 curname 前面没有被赋值,那么此变量就是“当前的值”,
如果前面已经赋过值了,那么就使用前面赋的值。
4、变量追加“+=”
需要给前面已经定义好的变量添加一些字符串进去,此时就要使用到符号“+=”