专栏首页C语言入门到精通C语言 | 每日基础(50)

C语言 | 每日基础(50)

读者:一个头文件可以包含另一头文件吗?

阿一:这是个风格问题, 因此有不少的争论。很多人认为 “嵌套包含文件” 应该避免。它让相关定义更难找到,如果一个文件被包含了两次, 它会导致重复定义 错误; 同时他会令 makefile 的人工维护十分困难。

另一方面, 它使模块化使用头文 件成为一种可能 (一个头文件可以包含它所需要的一切, 而不是让每个源文件都包 含需要的头文件); 类似 grep 的工具 (或 tags 文件) 使搜索定义十分容易, 无论它在 哪里; 一种流行的头文件定义技巧是:

#ifndef HFILENAME_USED

#define HFILENAME_USED

... 头文件内容 ... #endif

每一个头文件都使用了一个独一无二的宏名。这令头文件可自我识别,以便 可以安全的多次包含; 而自动 Makefile 维护工具 (无论如何, 在大型项目中都是必 不可少的) 可以很容易的处理嵌套包含文件的依赖问题。

本文分享自微信公众号 - C语言入门到精通(c_printf),作者:刘一

原文出处及转载信息见文内详细说明,如有侵权,请联系 yunjia_community@tencent.com 删除。

原始发表时间:2020-09-08

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • 基础知识 | 每日一面(61)

    小林:准确的的行为是由实现定义的,这就是应该有文档说明; 通常, 用 <> 括起来的头文件会先在一个或多个标准位置搜索。用 "" 括起来的头文件会首先在 “当前...

    闫小林
  • C语言编程规范

    C是一门朴素的语言,它是大部分程序员的入门语言,那么C语言的常见编程规范都有哪些呢

    闫小林
  • 基础知识 | 每日一练(178)

    士人有百折不回之真心,才有万变不穷之妙用。立业建功,事事要从实地着脚,若少慕声闻,便成伪果;讲道修德,念念要从虚处立基,若稍计功效,便落尘情。 ...

    闫小林
  • google C++编程风格指南之头文件的包含顺序

    (1)为了加强可读性和避免隐含依赖,应使用下面的顺序:C标准库、C++标准库、其它库的头文件、你自己工程的头文件。不过这里最先包含的是首选的头文件,即例如a.c...

    Dabelv
  • 基础知识 | 每日一面(61)

    小林:准确的的行为是由实现定义的,这就是应该有文档说明; 通常, 用 <> 括起来的头文件会先在一个或多个标准位置搜索。用 "" 括起来的头文件会首先在 “当前...

    闫小林
  • [C&C++]头文件包含问题

    原文链接:https://blog.csdn.net/humanking7/article/details/79299045

    祥知道
  • 【C语言笔记】两个小知识

    C语言包含头文件时应该使用尖括号还是双引号?使用尖括号<>,编译器会到系统路径下查找头文件;而使用双引号“”,编译器首先在当前路径目录下查找头文件,如果没有找到...

    正念君
  • Visual Studio2010中的外部依赖项

    Visual Studio2010中的项目下拉列表下面有外部依赖项,里面显示的文件是你程序中显示包含的头文件所包含的的头文件。比如,main函数里面包含了win...

    AIHGF
  • C/C++头文件的作用和用法

    示例代码编译运行环境:Windows 64bits+VS2017+Debug+Win32。

    Dabelv
  • 使用C语言中的头文件有什么技巧和注意事项吗?为什么不直接包含C文件呢?

    从事嵌入式开发多年,对于C语言使用的频率比较多,现在讲讲C语言在平时编程工作中经常出现的一些问题,就以楼主的题目为切入点分析归纳下,分享给正在使用或者学习C语言...

    程序员互动联盟

扫码关注云+社区

领取腾讯云代金券