C/C++#包含格式化最佳实践

前端之家收集整理的这篇文章主要介绍了C/C++#包含格式化最佳实践前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
在C/C++的时候,当我的.cpp / .c文件中包含.h文件时,我遇到了#include指令的文件路径. Google样式指南暗示在#include中使用部分文件路径.话虽如此,我目前正在做一个项目(虽然是一个小项目),当我“继承”代码时,为我编写了一个很好的布局Makefile(for G)和结构.也就是说,有一个名为/ project_name的目录,里面是Makefile和几个子目录.例如,/ project_name / inc保存.h文件,并且/ project_name / src保存.cpp文件. Makefile设置为查看每个子目录以编译源代码.

我的问题是,给定目录结构和Makefile,#include的“首选”方法是什么.我使用成功的两个选择如下.

> include“mycode.h”//不知道路径,假设我描述的结构
> include“../../project_name/inc/mycode.h”//似乎有点复杂,但更好地显示文件结构

有没有其他的选择,我失踪了?

解决方法

既不使用相反,将所有的公共头放在一个单一根的层次结构中.例如,如果您的项目是foo,请将所有公用标题放入(例如include / foo)中,但是不要犹豫,将每个组件的标题分组:
include/foo/io/printer.hh
include/foo/io/reader.hh
include/foo/job/job.hh
include/foo/job/scheduler.hh

那么如果您的代码仅使用< foo / io / printer.hh>等等,这要求您在构建项目期间传递适当的-I $(top_srcdir)/ include标志.如果您必须安装头文件,那么这个设置可以简化操作,因为代码用户代码将使用相同的标题.

如果另外你有私有标题,使用相同的结构,但在另一层次结构中,例如:

src/io/parser.hh

你可能决定使用src / foo,也可能不会.不使用src / foo的优点是更容易看到什么是公共和私有头.

但不要使用相对路径.

原文链接:https://www.f2er.com/c/113922.html

猜你在找的C&C++相关文章