linux库引用之分文件编程-创新互联

一、为什么要分文件编程

参考:链接: 多文件编程_coolwriter的博客-博客_多文件编程.

专注于为中小企业提供成都网站设计、做网站、成都外贸网站建设公司服务,电脑端+手机端+微信端的三站合一,更高效的管理,为中小企业广汉免费做网站提供优质的服务。我们立足成都,凝聚了一批互联网行业人才,有力地推动了成百上千企业的稳健成长,帮助中小企业通过网站建设实现规模扩充和转变。

模块化编程,就是把一个程序文件,分为多个文件一起编程的过程。把不同功能的函数封装到不同的文件中。一个.c文件和一个.h文件被称为一个模块。

原因1:开发C程序时,当代码量较大功能且复杂,单一文件程序会使得文件非常巨大,代码量非常大,成千上万行的代码在一个文件中不便于修改和维护。

原因2:在工作中,属于团队合作开发,为了有效的提高团队开发的分工协作效率。需要多文件开发。各个功能模块得分成多个文件分别派发给团队成员。提高开发效率,节省时间。

二、分文件编程流程

第一步:创建  功能模块.c  文件(有多少个功能模块,就创建几个,并且命名以模块功能名为主)。

第二步:把源程序的子函数(即功能模块)都分别放在对应第一步功能文件里。

第三步:创建xxxx.h 头文件,此文件内容只留下所有功能函数原型,函数体去掉,加分号;

第四步:源程序 添加 第三步的头文件。即#include"xxxx.h"

第五步:编译:  gcc 源程序.c   功能模块.c  -o   执行程序

扩展:#include和#include"xxxx.h"区别

#include此种写法:是优先从/usr/include/下文件下去找头文件

#include"xxxx.h"此种写法:是优先在当前位置找。再去/usr/include/找

三、示例代码演示(c语言)

例子1:输入两个数,求它们的  加 减 乘 除。

分析:此例子,只有一个同类功能,即加 减 乘 除  。即只需创建一个  arithmetic.c 文件 ,另加一个功能头文件。如:arithmetic.h

3.1、源程序(完整代码 source.c)
#include//加减乘除 功能函数
int add(int a, int b)
{
	
	return a+b;
	
	
	}

 int min(int a, int b)
 {
	 
	 return a-b;
	 
	 }

  int mul(int a, int b)
  {
	  
	  return a*b;
	  }

 
  float del(int a , int b)
{
	
	return (float)a/b;
	
	}

int main()
{
	int a;
	int b;
	int ret;
	float delret;
	printf("请输入第一个数\n");

	scanf("%d", &a);

	printf("请输入第二个数 \n");

	scanf("%d", &b);	
	printf("输入完毕\n");

	ret = add(a,b);
	printf("加法:%d+%d=%d\n",a,b,ret);


	ret = min(a,b);
	printf("减法:%d-%d=%d\n",a,b,ret);

	
	ret = mul(a,b);
	printf("乘法:%d*%d=%d\n",a,b,ret);
	
	delret = del(a,b);
	printf("除法:%d/%d=%f\n",a,b,delret);

	return 0;
	}

运行结果

请输入第一个数
50
请输入第二个数 
5
输入完毕
加法:50+5=55
减法:50-5=45
乘法:50*5=250
除法:50/5=10.000000

所有的代码都放在源程序里,如果代码量多,不方便修改,查错误也不好找,因此,把此代码分为   多文件编程。

3.2、把源程序中的功能模块代码放在另外一个文件里   如 :arithmetic.c
//文件名:arithmetic.c
//加减乘除 功能函数
int add(int a, int b)
{
	
	return a+b;
	}

 int min(int a, int b)
 { 
	 return a-b;
	 
	 }

  int mul(int a, int b)
  {
	  
	  return a*b;
	  }

 
  float del(int a , int b)
{
	
	return (float)a/b;
	}
3.3、创建功能头文件          如:arithmetic.h
//函数名:arithmetic.h
int   add(int a, int b);
int   min(int a, int b);
int   mul(int a, int b); 
float del(int a ,int b);
3.4、把头文件添加到源程序中 
#include#include"arithmetic.h"

int main()
{
	int a;
	int b;
	int ret;
	float delret;
	printf("请输入第一个数\n");

	scanf("%d", &a);

	printf("请输入第二个数 \n");

	scanf("%d", &b);	
	printf("输入完毕\n");

	ret = add(a,b);
	printf("加法:%d+%d=%d\n",a,b,ret);


	ret = min(a,b);
	printf("减法:%d-%d=%d\n",a,b,ret);

	
	ret = mul(a,b);
	printf("乘法:%d*%d=%d\n",a,b,ret);
	
	delret = del(a,b);
	printf("除法:%d/%d=%f\n",a,b,delret);

	return 0;
	}
3.5、执行结果

预告:下一节静态库与多态库的制作与使用

你是否还在寻找稳定的海外服务器提供商?创新互联www.cdcxhl.cn海外机房具备T级流量清洗系统配攻击溯源,准确流量调度确保服务器高可用性,企业级服务器适合批量采购,新人活动首月15元起,快前往官网查看详情吧


当前名称:linux库引用之分文件编程-创新互联
链接URL:http://azwzsj.com/article/dipcsi.html