多文件开发

1 单文件的坏处

  • 一个文件的内容太多,不利于阅读、调试
  • 多人修改同一个文件出问题
  • 公司里面是团队合作

2 场景

  • 张三 编写主函数
  • 李四 编写基本算术运算函数

zhangsan.c

  1. #include <stdio.h>
  2. int main(){
  3. int score1 = 100;
  4. int score2 = 70;
  5. int c = average(score1 ,score2);
  6. printf("平均分是%d\n:",c);
  7. return 0;
  8. }

lisi.c

  1. /*
  2. 编写求平均值的方法
  3. */
  4. int average(int a,int b){
  5. return (a+b)/2;
  6. }

3 运行二个文件

3.1 第一方法:链接

即把项目中所有相关联的.o 目标文件、C语言函数库合并在一起,生成可执行文件。如下图所示

注:上面的警告是因为使用了未声明的函数

3.2 第二种方法:包含函数声明文件

  • lisi.c
  1. /*
  2. 编写求平均值的方法
  3. */
  4. int average(int a,int b){
  5. return (a+b)/2;
  6. }
  7. /*
  8. 减法
  9. */
  10. int minus(int a , int b){
  11. return a-b;
  12. }
  13. /*
  14. 加法
  15. */
  16. int sum(int a,int b){
  17. return a+b;
  18. }
  • 函数声明文件 lisi.h
  1. /*
  2. 编写函数声明
  3. */
  4. int average(int a,int b);
  5. int sum(int a,int b);
  6. int minus(int a,int b);
  • zhangsan.c:将函数声明文件包含进去
  1. #include <stdio.h> #include "lisi.h" int main(){     int score1 = 100;     int score2 = 70;     int c = average(score1 ,score2);     int d = sum(score1,score2);     printf("平均分是%d\n:",c);     printf("总分是%d\n",d);       return 0; }
  • 直接编译运行zhangsan.c lisi.c即可

3.3 总结

  • 函数的定义放在.c文件,函数的声明放.h文件
  • 如果要使用某个.c文件中定义的函数,只需要#include这个.c文件对应的.h文件
  • .h文件的作用就是被别拷贝的。

关注我们,及时获得博客更新信息

捐赠我们
    良师益友工作室一直在致力于帮助编程爱好更加快速方便地学习编程,如果您对我们的成果表示认同并且觉得对你有所帮助,欢迎您对我们捐赠^_^。

时间: 2024-10-13 16:05:42

多文件开发的相关文章

三.OC基础--1.NSString的创建和使用,2多文件开发,3类方法,4封装

三:OC--1.NSString的创建和使用, 1,创建常量字符串,注意使用“@“符号. NSString *astring = @"This is a String!"; //后面的是常量,前面的是指针变量 2,NSString *s1 = [NSString new];//没有意义 s1 [email protected]"jian le ma"; 3.创建字符串的第三种方法 // 格式化创建字符串(按照指定的格式创建字符串) NSString *imgName

OC多文件开发介绍

OC多文件开发介绍: 1.为什么要使用多文件? 在工作中,通常把不同的类放到不同的文件中,每个类的声明和实现分开,声明写在.h头文件中,实现写在相应的.m文件中去,类名是什么,文件名的前缀就是什么.假设有两个类,分别是Person类和Dog类,则通常有下面五个文件: (1)Person.h Person类的声明文件 (2)Person.m Person类的实现文件 (3)Dog.h Dog类的声明文件 (4)Dog.m Dog类的实现文件 (5)Main.m 主函数(程序入口)在主函数以及类的实

linux在线预览pdf文件开发思路

准备:swftools,flexpaper 基本思路: 1,将pdf文件转化成swf文件 2,使用flexpaper预览swf文件 主要代码: 1,在linux中安装swftools.官网下载swftools 安装包,解压 2,./configure --prefix=安装路径 make install 执行完之后,执行pdf2swf -help 如果显示.说明安装成功 如果执行pdf2swf -help  显示commond not find 的话,可能需要配置swftools的环境变量,具体

Objective-C(NSString、BOOL、多文件开发)

NSString 表示oc当中的字符串类 %@是oc当中对象的格式符 printf不能打印oc当中的对象 通过stringWithFormat:这个类方法,打印格式化的字符串 例 int a = 10; NSString * str = [NSString stringWithFormat:@"身高是%i",a]; NSLog(@"%@",str); 通过NSSting当中的求长度的方法,计算字符串的长度 oc当中的求长度的方法,在打印时,是以各国的字符为单位.空格

C-进制,多文件开发,预处理,地址

预处理指令: 1.分类 a.文件包含指令  #include b.宏定义     #define c.条件编译指令  #if 2.特点 a. 都是以#号开头 b.预处理指令的后面没有分号 c.编译前执行 3.文件包含指令: #include a.作用: 可以将制定的文件的内容拷贝到写指令的地方 b.语法: #include “文件路径”    1 #include <文件路径> c.使用:在编译之前,就会执行处理代码,这时候,就会将include后面的文件的内容拷贝到引用处,然后再检查语法,相

Android Studio NDK及so文件开发

前言 什么是NDK? NDK全称是Native Development Kit,NDK提供了一系列的工具,帮助开发者快速开发C(或C++)的动态库,并能自动将so和java应用一起打包成apk.NDK集成了交叉编译器(交叉编译器需要UNIX或LINUX系统环境),并提供了相应的mk文件隔离CPU.平台.ABI等差异,开发人员只需要简单修改mk文件(指出"哪些文件需要编译"."编译特性要求"等),就可以创建出so. 为什么使用NDK? 1.代码的保护.由于apk的ja

使用VB6资源文件开发多国语言应用攻略

VB6被很多程序员认为是一个过气的开发工具,但它实在是微软最经典的开发工具,没有之一!编译出的程序短小精悍,一般就几十K,而且从XP以后的操作系统,均携带其运行时库,只要程序只使用VB的标准控件,连安装都不需要,可以直接运行.所以,不太复杂的GUI程序我都使用VB6开发,速度那怎叫一个快字了得! 最近,我做了一个Mini流图软件,但需要支持多国语言.查了一下网上的资料,方案感觉都很山寨.基本上都是头疼医头,脚疼医脚,没有一个基于系统的全面调理方案.于是,仔细研究了VB6的资源文件体系,发现原来微

菜鸟教程之工具使用(十九)——国际化资源文件开发凶器MultiProperties

最近要做一个多语言的东西,大概包含中.繁.日.英.韩几种语言.这样一来就需要编写多个资源文件,不仅工作量繁重,而且容易出错.今天介绍一款非常好用的工具给大家--MultiProperties. MultiProperties Editor 是一个用来编辑 properties 或者是 ResouceBundle 资源文件的 Eclipse 插件,支持多语言同时编辑.它的原理流程图如下: MultiProperties文件其实就是对XML的一种封装格式,可以转换成Java的properties文件

PHP生成压缩文件开发实例

大概需求: 每一个订单都有多个文件附件,在下载的时候希望对当前订单的文件自动打包成一个压缩包下载 细节需求:当前订单号_年月日+时间.zip  例如: 1.生成压缩文件,压缩文件名格式: 2.压缩文件存放在根目录 /upload/zipfile/年月/自定义的压缩文件名.zip 3.点击下载压缩包,系统开始对压缩文件打包,打包完成后自动开始下载 4.为了防止暴露压缩包文件路径,需要对下载的压缩包文件名改名 具体操作模式请见下面的代码: 文件路径: 压缩包文件存放路径:/upload/zipfil