一个自动分离C++头和实现的工具

A tool to auto separate C++ header and implementation

本文关键字:C++ 实现 工具 分离 一个      更新时间:2023-10-16

当我从C#或python切换回C++并遇到.h和.cpp分离时,我总是感到痛苦。

所以我想,也许有一种工具可以在预编译步骤中获取头(具有某种特殊扩展名的o文件),并将其拆分为.h和.cpp?

所以如果原始文件是这样的:

class MyClass
{
public:
    void HaHaHa()
    {
       //some logic
    }
 }

结果将是.h和.cpp文件:

//.h 
class MyClass
{
public:
    void HaHaHa();
}
// .cpp 
#include "MyClass.h"
void MyClass::HaHaHa() 
{
    //some logic
}

一些谷歌搜索并没有显示出现成的工具。但我确信这不是一个新想法,这样的工具应该存在。

附言:众所周知,即Visual Assist X和VIM有一些工具可以轻松处理.h和.cpp分离。但我想问一种可能性,在一个文件中有一个代码,并作为构建过程的一部分自动分离它们。

此工具可能会帮助您:lazycplusplus[由于域丢失而返回链接]

项目回购:https://github.com/mjspncr/lzz3

我认为你是在倒退:你想写标题文件,而不包含实现,然后再编写代码。什么会be nice是一个读取头文件并生成实现的大纲代码:具有命名空间、嵌套类和因此,仅仅是包装就可能非常冗长。但我见过的最接近的是RationalRose,它以一个(高度)注释的ULM图开始,并且生成实现的报头和样板。这是一个非常好的工具—只要有,我就会使用它—但是它对家庭用户来说有点贵,甚至可能对小用户来说公司。

Whole Tomato在Windows下的Visual Assist X就是这样做的。虽然我不认为是自动化的。