【答疑解惑】头文件使用过程中需要注意的几个点

头文件c/c++程序十分常见,java 中换成了import。我们经常用到它,正因为如此,一些细节东西容易被忽略。今天我们就讲讲:

头文件的作用有三:

1、C\C++采用源文件单独编译为object文件,最后有链接器链接object文件成为可执行文件。头文件解决了彼源文件中变量和函数在此源文件中引用。

2、头文件中的函数接口和全局变量起占位符的作用和参数类型与表达式匹配的合法行检测的作用,早期的C编译器不具有后者的功能。

3、便于一二进制的形式发行类库,因此源码实现的细节。

C语言,使用include指令,包含头文件,但又细分两种形式:

1、#include “file1.h” gcc先在当前目录(指包含本条#include指令的源文件所在的目录)寻找file1.h,如果找不到,继续在由-iquote选项(如果有的话)指定的目录中寻找file1.h。

2、#include <file2.h> gcc按照以下顺序查找file2.h:

-Idir1 -Idir2 ... /usr/local/include libdir/gcc/include /usr/include 第一行中,-Idir1 -Idir2 ... 是用户通过gcc的-I选项指定的目录。值得一提的是,放在/usr/local/include/下的头文件也会被gcc自动的检索.

3、#include “file3.c”

这种使用也是可以的用法与1类似。

头文件引用是一个比较复杂的过程,头文件中应用其他头问文件等等。如果使用不好会导致编译错误摸不着头脑。一定要注意。

原文发布于微信公众号 - 程序员互动联盟(coder_online)

原文发表时间:2015-08-11

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏前端那些事

Express4.x API (四):Router (译)

Express4.x API 译文 系列文章 已经完成了Express4.x API中的Requst和Response对象的文档翻译。简单的总结,request...

20510
来自专栏DannyHoo的专栏

block和代理

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/u010105969/article/details/...

923
来自专栏闻道于事

SpringBoot常用配置

前言:springboot集成了主流的第三方框架,但是需要使用springboot那一套配置方式。但是我这里只列举了非常非常常用的,可以看已发的几篇博客,慢慢会...

4327
来自专栏程序员互动联盟

【专业技术】Linux下如何提高效率

之前写了一篇关于linux下常用的几个命令,参考Linux入门--提高工作效率的命令 一、bash shell中的快捷键 光标移动命令 Ctrl + a - 跳...

3427
来自专栏三木的博客

Make

###一、make的功能: make是一个用来维护程序模块关系和生产可执行文件的工具,他可以根据程序修改的情况重新编译链接生成的中间代码或最终的可执行文件。执行...

17910
来自专栏容器云生态

shell基本命令

有关文件显示的命令: du --exclude=iso  -sh  .        //统计当前除了iso这个目录的其他文件大小 ls -F        ...

2087
来自专栏云飞学编程

Python基础内容:怎样快速理解if __name__ == &#39;main&#39;语句

相信好多初学者在学习python的过程中,经常会遇到if __name__ == 'main'语句,可能你知道它的作用,也可能很模糊,今天就给大家分享下我的理解...

704
来自专栏Django中文社区

真正的 Django 博客首页视图

在此之前我们已经编写了 Blog 的首页视图,并且配置了 URL 和模板,让 Django 能够正确地处理 HTTP 请求并返回合适的 HTTP 响应。不过我们...

3288
来自专栏运维技术迷

连仕彤博客ccat让cat命令有颜色的输出

1934
来自专栏数据小魔方

excel中的超链接函数

今天跟大家分享在excel中超链接函数的用法! ▼ 其实excel中想要达到超链接效果有很多种方法:直接手工设置、超链接函数、开发工具、VBA等都可以实现。但是...

3619

扫码关注云+社区