常规c++程序头文件结构
Conventional c++ program header file structure?
我知道头文件如何在c++中工作的机制,但我刚刚开始编写更大的opengl程序,有很多类,我想知道是否有一个"标准"或传统的方式来组织头文件周围的大型程序,或者如果它只是个人偏好的大部分?
1. 把你的项目分成几个模块。2. 为每个模块创建一个目录。3.在每个模块的目录下创建两个子目录inc/和src/您将放置头文件和源文件的位置。4. 创建一个全局目录,并将头文件和cpp文件放在该目录中将被几个模块共同使用。5. 正确制作包含所有库的路径和链接的Makefile。之前这就是我所遵循的。也许还有其他更有效和更低效的方法:)
对于非常大的项目,通常有两种函数/对象:那些在很多地方使用的和那些只在本地使用的(在一个文件或少数相关文件中)。你想把它们放到两个不同的位置:
- 在一个中心位置,比如rootinc,把这里广泛使用的所有函数和常量的头文件放在这里。
- 在每个目录中,放置只影响这些区域的头文件。
这样做的好处是它强制程序进行一些解耦。UI部分中的cpp文件不能访问网络部分中的函数,除非它位于中心位置并被广泛使用。
如果你说的不是那么大,但仍然多于一个文件,那么经验法则是将每个头文件保留为一个类或最多两个高度相关的类。
相关文章:
- 将 glade 文件与程序 g++ 链接
- 如何使用命令提示符、记事本和 MinGW 使用主文件、头文件和实现文件编译C++程序?
- Windows 将标准的 C 文件结构注入到正在运行的进程中
- 如何读取/查询文件系统和文件结构
- 编译简单的多文件类程序时出现未定义的引用错误
- 如何使用自定义对象的序列化在 c++ 中编写自定义二进制文件处理程序
- C++对象文件和程序文件组合编译的 Bashrc 别名
- 如何制作一个结构程序,在其中可以存储无限量的数据,以便每次您想要时都可以将另一个产品添加到列表中?
- C++ 使用 json 文件提升程序选项
- 多线程文件 IO 程序在线程数增加时行为不可预测
- 结构程序不起作用
- C++/Python 中对象和结构的二进制文件结构
- 与更新的输入文件同步程序
- 更改include/对象文件中间程序C
- 在 C++ 和 C# 之间共享内存映射文件结构
- 当我使用文件作为c ++程序的输入时,它会损坏
- 在文件结构中使用字符串而不是带有 read() 和 write() 的字符数组
- C++ while 循环在自定义文件结构中
- 程序c++程序的文件结构
- 常规c++程序头文件结构