27

我使用 VIM 进行 C++ 开发已经有好几年了,我不想争论是使用 IDE 还是功能强大的文本编辑器进行软件开发的问题。到目前为止,我主要涉及一个仅包含标头的模板库,其中所有内容要么是模板,要么是声明的内联文件,因此 .cpp 文件不起主要作用。

最近我更多地参与“传统”C++开发,面临头/非头文件同步的老问题。我想知道是否有任何命令行工具可以在make 目标中使用或集成到VIM 中来处理这项工作,即基于.cpp 文件更新头文件。基本上,类/结构或(模板和内联)实现的声明应该在头文件中被忽略,而函数声明应该基于 .cpp 文件添加、删除或更新。

但是,我知道lzz工具需要您以附加的第三种文件格式实际编码,然后在实际编译之前将其预处理为 .h / .cpp 文件。

周围有什么可以做的吗?其他非 IDE 开发人员如何处理这个问题?

4

3 回答 3

8
于 2013-04-06T20:21:14.393 回答
2

有一个makeheadersfossil项目中调用的程序(vcs 替代 git)。您可以轻松地从源代码编译它。我还建议您阅读文档

于 2021-01-14T22:22:50.163 回答
1

在 UNIX 类型的系统上,通常 IDE 不处理这项工作(根据我的经验)。构建工具(通常不与 Eclipse、Emacs 等 IDE 捆绑在一起)将完成这项工作。

在现代系统中,处理这个问题的最好方法是让编译器来做:毕竟,编译器最清楚。GCC 和大多数其他 UNIX/POSIX 编译器具有在源文件编译期间发出 make 样式依赖声明的选项。您只需在您的 makefile 中进行安排,然后将输出文件包含在您的 makefile 中,这一切都很好。

参见,例如: http: //make.mad-scientist.net/autodep.html

然后检查 GCC 选项,例如-MMD -MP(这些是预处理器选项)。

于 2013-04-06T19:47:27.667 回答