专栏首页C语言入门到精通基础知识 | 每日一面(61)

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

古代的剑客们与

对手相逢时,无

论对手多么强大,

明知不敌,也要亮出自己的剑!

读者:完整的头文件搜索规则是怎样的?

小林:准确的的行为是由实现定义的,这就是应该有文档说明; 通常, 用 <> 括起来的头文件会先在一个或多个标准位置搜索。用 "" 括起来的头文件会首先在 “当前目录” 中搜索, 然后 (如果没有找到) 再在标准位置搜索。

读者:我在编译一个程序, 看起来我好像缺少需要的一个或多个头文件?

小林:根据 “缺少的” 头文件的种类, 有几种情况。如果缺少的头文件是标准头文件, 那么你的编译器有问题。你得向你的供货商或者精通你的编译器的人求助。对于非标准的头文件问题更复杂一些。

有些完全是系统或编译器相关的。某些是完全没有必要的, 而且应该用它们的标准等价物代替。例如, 用 <stdlib.h> 代替 <malloc.h>。其它的头文件, 如跟流行的附加库相关的, 可能有相当的可移植性。

标准头文件存在的部分原因就是提供适合你的编译器, 操作系统和处理器的定义。你不能从别人那里随便拷贝一份就指望它能工作, 除非别人跟你使用的是同样的环境. 你可能事实上有移植性问题或者编译器问题。

有时候,正是那些意想不到之人,成就了无人能成之事。

——图灵

本文分享自微信公众号 - C语言入门到精通(gh_780327809188),作者:闫小林

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

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

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

我来说两句

0 条评论
登录 后参与评论

相关文章

  • C语言 | 每日基础(50)

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

    闫小林
  • C语言编程规范

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

    闫小林
  • 基础知识 | 每日一面(6)

    首先, 一个全局变量或函数可以有多处 “声明”, 但是 “定义” 却只能允许出现一次。定义是分配空间并赋初值 (如果有) 的声明。

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

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

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

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

    正念君
  • C语言 | 每日基础(50)

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

    闫小林
  • Visual Studio2010中的外部依赖项

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

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

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

    程序员互动联盟
  • #ifndef/#define/#endif使用详解

    想必很多人都看过“头文件中的 #ifndef/#define/#endif 防止该头文件被重复引用”。但是是否能理解“被重复引用”是什么意思?是不能在不同的两个...

    包子388321
  • 所有科研人都应该收藏的论文下载网站,不是sci-hub!

    最近有几位朋友问我在哪里下载论文,在网上找到的论文大多数链接都是付费的。我把自己用了多年的一个科研文献下载网站分享给大家。尤其对非在校的朋友肯定很有用。

    AI算法与图像处理

扫码关注云+社区

领取腾讯云代金券