c++的分文件编写

前言

在C++中,你可以将代码分割成多个文件来提高可维护性和组织性。分割文件有助于将代码模块化,使大型项目更易于管理。以下是C++中关于分文件的一些规则和概念:

理论知识

头文件(Header Files): 头文件通常具有 .h 或 .hpp 的扩展名。它们包含声明(例如类、函数和变量的声明),供其他文件在编译时引用。头文件应该包含防范重复包含的预处理指令,例如头文件保护宏(#ifndef、#define、#endif 预处理指令)来防止重复包含。头文件只应该包含声明,不应该包含实现。

源文件(Source Files): 源文件包含实现,通常具有 .cpp 的扩展名。这里是实际代码的地方,包括函数和类的实现。源文件包含头文件并提供实现细节。每个源文件都可以被独立编译成一个目标文件。

编译单元(Compilation Units): 一个编译单元是一个包含源文件和其相关的头文件的逻辑单元。在大多数情况下,一个编译单元对应一个源文件。编译单元被独立编译成一个目标文件,然后在链接阶段组合在一起。

命名空间(Namespaces): 命名空间是用来避免命名冲突的机制。通过将相关的类、函数等放在一个命名空间中,可以确保它们的名称不会与其他地方的名称冲突。

链接器(Linker): 在编译后,编译器生成了多个目标文件。链接器负责将这些目标文件合并成最终的可执行程序。链接器解决符号引用,将不同编译单元中的符号关联起来。

分离式编译(Separate Compilation): C++ 支持分离式编译,这意味着你可以将程序分成多个源文件,每个文件可以独立编译。这样,当你修改一个源文件时,只需要重新编译它,而不必重新编译整个项目。

实践

这是我的 c++ 目录

我想要在 hello.cpp 文件下使用 swap.cpp 下的函数
fun.h 文件

复制代码
#include<iostream>

using namespace std;


// 函数的声明
void fun(void);

swap.cpp 文件

复制代码
#include"fun.h"

void fun(void)
{
	cout << "啦啦啦啦" << endl;
}

hello.cpp 文件

复制代码
#include<iostream>
#include<string>
using namespace std;

#include"fun.h"

int main()
{
	fun();
	return 0;
}
相关推荐
CRMEB系统商城15 分钟前
家电零售的供应商协同与物流提效
java·开发语言·人工智能·小程序·1024程序员节
王大师王文峰29 分钟前
Java+AI 面试题(二):业务场景设计 10 例【客服机器人、合同审查、Text2SQL、告警降噪、成本优化】场景题答法与追问链路
java·开发语言·人工智能
言乐638 分钟前
Python实现三轴联动根据数据自动打磨镜片模型
开发语言·python
CHHH_HHH1 小时前
【Linux网络篇】初识网络与Socket编程基础
linux·服务器·c语言·开发语言·网络·后端·1024程序员节
思麟呀1 小时前
BTree的原理与 C++ 完整实现
c语言·数据结构·c++·算法·1024程序员节
jimy11 小时前
C++ 中 xvalue 的 identity 存在哪里?和 lvalue 的 identity 有什么区别?
开发语言·c++·1024程序员节
yujunl1 小时前
U9 无授权的模式WebAPI开发的总结
开发语言·1024程序员节
zzu123zsw1 小时前
为什么 Python 做 Agent 总在并发中崩溃?拆解 Blockcell 在 Rust 下的 Host-Cell 隔离与自愈状态机
开发语言·python·rust·大模型·ai agent
xiaoye-duck2 小时前
《C++ 项目:手写大模型接入 SDK》Provider分析与实现
开发语言·c++·语言模型
denlaku2 小时前
JDK 22 新特性详解
java·开发语言