首页 技术 正文
技术 2022年11月20日
0 收藏 729 点赞 3,341 浏览 1232 个字

C语言模块化编译介绍

模块化编程的概念

  所谓模块化变成(多文件开发),就是多文件(.c文件)编程,一个.c文件和一个.h文件可以被称为一个模块。

头文件开发的注意事项:

1)头文件中可以和C程序一样引用其它头文件,可以写预处理块,但不要写具体的语句。

2 可以声明函数,但不可以定义函数

3 可以声明常量,但不可以定义变量

4)可以“定义”一个宏函数。注意:宏函数很象函数,但却不是函数。其实还是一个申明。

5)结构的定义、自定义数据类型一般也放在头文件中。

6)多文件编程时,只能有一个文件包含 main() 函数,因为一个工程只能有一个入口函数。我们 把包含 main() 函数的文件称为主文件。

7)为了更好的组织各个文件,一般情况下一个 .c 文件对应一个 .h 文件,并且文件名要相同, 例如 fun.c 和 fun.h。 一个文件,声明在.h文件,实现在.c文件,.h和.c文件必须同名。

8)头文件要遵守幂等性原则,即可以多次包含相同的头文件,但效果与只包含一次相同。

9)防止重复包含的措施

头文件的使用场景:

1. 通过头文件来调用库函功能

一些源代码不方便或者不允许向用户公布,只需要向用户提供头文件和二进制的库即可。用户只需要按照头文件中的接口来声明和调用库功能,二不关心接口是怎么实现的。

2. 多文件编译

将稍大的项目分成几个文件实现,通过头文件将其他文件的函数声明引入到当前文件。

3. 头文件能加强类型安全检查

如果某个接口被实现或被使用时,其方式与头文件中的声明不一致,编译器就会指出错误,这一简单的规则能大大减轻程序员调试、改错的负担。

#include < > 和 #include ” “

#include ” “

包含的是一个用户定义的文件,可以是头文件,也可是普通文件

1、在当前文件所在的路径下查找

2、如果上面没有找,到编译器include路径查找

3、如果编译器include路径下没有找到,系统的include路径下查找

4、如果上面三个都没有找到就报错了。

当前文件夹 —–>编译器include —->系统include—–>(如果找不 到)报错

#include <>

包含一个系统(编译器自带)的头文件

1、编译器的include路径下查找

2、如果没有找到就系统include路径下查找

3、如果都没有找到就报错

编译器include —> 系统include–> (如果找不到)报错

Xcode自带编译器 include:/Applications/Xcode.app/Contents/Developer/Platforms/MacOSX.platform/Develope r/SDKs/MacOSX10.10.sdk/usr/include/

Mac系统的include路径有: /usr/include /usr/local/include

include 不一定非要写在第一行

使用条件编译指令可以防止头文件的重复包含

#ifndef C7________xxx_h

#define C7________xxx_h

#endif

相关推荐
python开发_常用的python模块及安装方法
adodb:我们领导推荐的数据库连接组件bsddb3:BerkeleyDB的连接组件Cheetah-1.0:我比较喜欢这个版本的cheeta…
日期:2022-11-24 点赞:878 阅读:8,999
Educational Codeforces Round 11 C. Hard Process 二分
C. Hard Process题目连接:http://www.codeforces.com/contest/660/problem/CDes…
日期:2022-11-24 点赞:807 阅读:5,511
下载Ubuntn 17.04 内核源代码
zengkefu@server1:/usr/src$ uname -aLinux server1 4.10.0-19-generic #21…
日期:2022-11-24 点赞:569 阅读:6,357
可用Active Desktop Calendar V7.86 注册码序列号
可用Active Desktop Calendar V7.86 注册码序列号Name: www.greendown.cn Code: &nb…
日期:2022-11-24 点赞:733 阅读:6,140
Android调用系统相机、自定义相机、处理大图片
Android调用系统相机和自定义相机实例本博文主要是介绍了android上使用相机进行拍照并显示的两种方式,并且由于涉及到要把拍到的照片显…
日期:2022-11-24 点赞:512 阅读:7,770
Struts的使用
一、Struts2的获取  Struts的官方网站为:http://struts.apache.org/  下载完Struts2的jar包,…
日期:2022-11-24 点赞:671 阅读:4,848