首页 > 编程知识 正文

C语言的头文件,常用c语言头文件

时间:2023-05-03 15:49:08 阅读:217706 作者:1863

本文从Simulink生成的代码出发,研究C语言中头文件的作用。

文章目录 1 头文件的作用2 C文件中引用头文件3 头文件的内容4 总结

1 头文件的作用

博主理解,头文件的作用可以归纳为一句话,那就是把各个C文件联系起来。

至于是怎么联系起来的,后文在分析Simulink生成的代码中会一点点研究。

2 C文件中引用头文件

随便用Simulink模型生成代码,都能看到生成了一堆.c文件和.h文件。

首先点开demo.c,也就是和Simulink模型名相同的C文件。这个C文件对应模型中的控制算法。

除了顶头的注释以外,c文件一上来就引用了两个头文件。

刚开始干这一行的时候,博主对这里的语法很懵逼。为啥#include后面的头文件用的是双引号。

%第一种引用方式#include "demo.h"

记得大学学的时候用的是书名号,如下:

第二种引用方式#include <demo.h>

其实还是基础不扎实。网上随便差点资料就知道,引用用户自己写的的头文件的时候采用第一种双引号的方式,引用系统中标准头文件的时候采用第二种书名号的方式。

3 头文件的内容

打开和模型名相同的头文件demo.h,研究一下为什么通过头文件,就能让各个C文件之间互相访问内容。

其实,奥妙就在头文件中的extern关键字上面,如下图所示。

extern从字面上理解,是“外部”的意思。由它修饰的变量是全局变量。只要其他C文件最上面写了#include “demo.h”,编译器就会知道了解到,那些用了extern修饰的变量是外部定义的。等到所有C文件都编译过以后,会在链接的过程中找到这些变量真正的源头,并将其关联起来。

所以,如果想要调用其他C文件里面定义的全局变量,只要include它的头文件即可。extern修饰的函数也是一样的道理。底层软件中的操作系统想要调度应用层的函数,也只要include它的头文件即可。

在Simulink中,可以通过定义Storage Class很容易地配置这些全局变量生成的方式。详见博主的另一篇博客Simulink代码生成: Storage Class配置。

4 总结

C语言头文件的功能其实不止于此,后续博客会在本片的基础背景下,研究一些其他的技术知识。

>>返回个人博客总目录

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。