linux 环境下头文件声明函数后使用makefile编译文件
来源:互联网 发布:cisco 端口镜像 编辑:程序博客网 时间:2024/05/29 14:31
刚开始使用linux环境编程时,遇到的一个难办问题,就是当时觉得在一个c文件里实现太多函数特别繁琐,并且后期因为函数实现部分篇幅太长,使得整个c很难看清楚思路,后来想着函数单独放在一个c文件里,没想到编译出了问题,查资料发现要用makefile,当时写了日志,把当时代码po上来做一个参考。
实例
此处例子涉及三个文件,两个c文件,一个头文件,分别为:fun.c a.c fun.h
1.fun.h是定义函数名的头文件
//fun.h#ifndef _FUN_H#define _FUN_H#include"fun.h"int fun1(int a,int b);void fun2();#endif
2.fun.c是实现fun.h里定义了的函数
//fun.c#include<stdio.h>#include"fun.h"int fun1(int a,int b){ return a+b;}void fun2(){ printf("fun2 is ok!\n");}
3.a.c是调用fun里的函数的主文件
//a.c#include<stdio.h>#include"fun.h"int main(){ int c; int a=2,b=6; c=fun1(a,b); printf("a=%d b=%d\n a+b=%d\n",a,b,c); fun2(); return 0;}
在同一个文件夹里创建好这三个文件后(我放在~/MINEcode/exm文件夹里)
为了方便一同编译,在这个文件夹里同时创建一个文件,名为makefile(注:文件名一定要是这个,make默认编译的就是这个名字的文件)
//makefileA:fun.o a.o gcc -o A fun.o a.ofun.o:fun.c fun.h gcc -c fun.ca.0:a.c fun.h gcc -c a.cclean: rm A fun.o a.o
保存后,在shell端执行以下命令
$ cd ~/MINEcode/exm$ make
(显示gcc相关编译语句)
$ ./A
(./A是因为我在makefile文件内就把编译后的命令命名为A,这个文件名可以随自己的makefile文件自己修改)
1 0
- linux 环境下头文件声明函数后使用makefile编译文件
- linux下头文件
- Linux下头文件
- Linux下头文件.h的使用
- VC环境下头文件包含
- linux下头文件 标准路径
- Linux下头文件搜索路径
- Linux下头文件搜索路径
- VS下头文件使用注意事项
- VS环境下使用makefile文件编译
- linux下头文件概述(不定期更新)
- Linux系统下头文件所在的目录
- gcc编译器搜索Linux下头文件路径
- 使用Makefile编译Java文件
- Linux下C多文件编译Makefile
- linux makefile 编译c和c++文件
- linux下makefile多文件编译
- linux下多个cpp文件的Makefile编译
- Ubuntu16.04LTS 安装搜狗输入法
- Gdb远程调试Linux内核遇到的Bug
- Angular.js 的一些学习资源
- HTML5 脚本编程之:跨文档消息传递&历史状态管理
- sql返回插入的主键ID
- linux 环境下头文件声明函数后使用makefile编译文件
- 安卓ListView详解
- Photoshop学习总结
- Java关键字static、final使用总结
- 【程序50】 题目:有五个学生,每个学生有3门课的成绩,从键盘输入 以上数据(包括学生号,姓名,三门课成绩),计算出平均 成绩,将原有的数据和计算出的平均分数存放在磁盘文件"stud"中。
- SpringMVC在修改response时,Firefox提交的链接执行两次的问题处理
- bat命令脚本学习
- page 简单易懂 分页
- CSS中,两个class类之间有空格和没空格的区别是什么?