05.如何编写自己的h文件和c文件,并按项目管理多个源文件-Make
2008-11-05 17:21
471 查看
我们在编写的程序的时候,为了复用会封装一些方法,这样就涉及到多个文件的编译,如何编译这些不同的文件,并链接成最后的可执行程序,如何管理这些文件,一次编译?
编写math.h 头文件
/*--===------------------------------------------===---
filename: math.h
实现简单的文件操作
--===------------------------------------------===---*/
extern int add(int i, int j);
编写math.c文件
/*--===------------------------------------------===---
filename: math.c
实现 math.h 文件里面定义的方法
编译方法:gcc -c math.c -o math.o
--===------------------------------------------===---*/
int add(int i, int j)
{
return i+j;
}
编写main.c程序
/*--===------------------------------------------===---
filename: main.c
主程序,测试 math.h 和 math.c 文件。
编译方法:gcc -c main.c -o main.o
--===------------------------------------------===---*/
#include "math.h"
#include <stdio.h>
int main(int argc, int argv)
{
printf("the sum 3+5=%d.\n",add(3,5));
return 0;
}
最后,通过 gcc main.o math.o -o main 生成main程序。
xumh@ubuntu:~/cpp/make$ cat makefile
main: main.o math.o
gcc main.o math.o -o main
main.o : main.c math.h
gcc -c main.c -o main.o
math.o : math.c math.h
gcc -c math.c -o math.o
clean:
rm -f *.o
xumh@ubuntu:~/cpp/make$
编写math.h 头文件
/*--===------------------------------------------===---
filename: math.h
实现简单的文件操作
--===------------------------------------------===---*/
extern int add(int i, int j);
编写math.c文件
/*--===------------------------------------------===---
filename: math.c
实现 math.h 文件里面定义的方法
编译方法:gcc -c math.c -o math.o
--===------------------------------------------===---*/
int add(int i, int j)
{
return i+j;
}
编写main.c程序
/*--===------------------------------------------===---
filename: main.c
主程序,测试 math.h 和 math.c 文件。
编译方法:gcc -c main.c -o main.o
--===------------------------------------------===---*/
#include "math.h"
#include <stdio.h>
int main(int argc, int argv)
{
printf("the sum 3+5=%d.\n",add(3,5));
return 0;
}
最后,通过 gcc main.o math.o -o main 生成main程序。
xumh@ubuntu:~/cpp/make$ cat makefile
main: main.o math.o
gcc main.o math.o -o main
main.o : main.c math.h
gcc -c main.c -o main.o
math.o : math.c math.h
gcc -c math.c -o math.o
clean:
rm -f *.o
xumh@ubuntu:~/cpp/make$
相关文章推荐
- 在使automake autoconf 等工具管理的现有项目里增加自己源文件和静态库
- 在使automake autoconf 等工具管理的现有项目里增加自己源文件和静态库
- 编写自己的插件如何减少css文件的引入
- 教你如何编写自己的bat文件
- 项目管理手记(25) ERP实施顾问会如何看待自己的职业
- 从程序员到项目经理(12):如何管理自己的时间(上)
- 从程序员到项目经理(13):如何管理自己的时间(下)
- 如何有效管理自己电脑里的文件?
- 从程序员到项目经理(11):如何管理自己的时间(上)
- 程序员到项目经理:如何管理自己的时间
- 项目管理方法---基层项目经理如何激励自己的团队
- 从程序员到项目经理(十三):如何管理自己的时间(下)
- [转]从程序员到项目经理(12):如何管理自己的时间(上)
- 项目管理方法---基层项目经理如何激励自己的团队
- Android开发中如何将自己编译的.so文件用到其他的项目中
- 从程序员到项目经理(12):如何管理自己的时间(上)
- 如何管理你项目中的SASS文件
- CUDA项目文件管理之-一个源文件
- 项目经理如何学会管理自己的领导
- 【Angular4】如何给自己的Angular项目写一个好用的方便管理的SVG图标库