C-include

关于include

include = 文件拼接

include的作用就相当于是把所有相关的头文件与生成文件打包在一起,

并不是一对一的链接,但是有顺序关系

重复包含

同一个头文件不可重复包含,可在头文件前用#pragma once预编译宏指令强制该头文件只编译一次

交叉包含

多个头文件相互包含,编译时会陷入死循环,仍可用#pragma once解决,但仍然需要注意包含顺序。

为了解决这些问题,通常我们将在头文件中声明方法,在编译单位中包含该方法所需要的头文件,

并在编译单位中实现该方法。

相关推荐
誰能久伴不乏35 分钟前
桌面客户端的运行日志系统:SQLite 分块 + 独立写线程 + 文本降级
数据库·c++·qt·架构·sqlite
2601_966949655 小时前
如何根据研究的起止时间截取分钟级行情?Python 实战与 QuantDash 数据处理指南
开发语言·python·pandas·量化交易·1024程序员节·股票数据·quantdash
晨曦中的暮雨7 小时前
限流算法——固定窗口、滑动窗口、漏桶、令牌桶
java·开发语言·算法
喵了几个咪8 小时前
GoWind CMS 拆解:在 Go 里给 TipTap 搭一套 Yjs 协同后端
开发语言·后端·golang
程序员清风8 小时前
数据处理脚本工程化:日志、配置、命令行与测试
服务器·开发语言·数据库
2601_9628857210 小时前
如何用 Python 把 K 线重采样成任意周期?
开发语言·python
choumin10 小时前
C++中万能引用与std::forward的作用和用法
c++·万能引用·std forward
Wang's Blog10 小时前
Java 项目实战: 交友项目 - 圈子功能实现:总结
java·开发语言·交友
下一站春风里11 小时前
位运算完整学习笔记:按位与(&)+ 异或(^)
开发语言·c++·算法
天外飞雨道沧桑12 小时前
我在浏览器里练了一个 792 参数的大模型,它学会了补全 JavaScript
开发语言·javascript·ai·ecmascript·ai编程