自动分离C+的工具+;标题和实现 当我从C或Python切换到C++时,遇到H和.CPP分离时,我总是感到疼痛。

自动分离C+的工具+;标题和实现 当我从C或Python切换到C++时,遇到H和.CPP分离时,我总是感到疼痛。,c++,C++,所以我想,也许有一种工具,在预编译步骤中,可以获取头文件(带有一些特殊扩展名的o文件),并将其拆分为.h和.cpp 如果原始文件是这样的: class MyClass { public: void HaHaHa() { //some logic } } 结果将是.h和.cpp文件: //.h class MyClass { public: void HaHaHa(); } // .cpp #include "MyClass.h"

所以我想,也许有一种工具,在预编译步骤中,可以获取头文件(带有一些特殊扩展名的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
}
一些谷歌搜索没有显示现成的工具。但我很确定这不是一个新的想法,这样的工具应该存在


另外,众所周知,即视觉辅助X和VIM具有处理.h和.cpp分离的工具,且痛苦较小。但我想问的是,是否有可能在一个文件中包含一个代码,并将它们作为构建过程的一部分自动分离

此工具可能对您有所帮助:

我认为您是在倒退:您想写标题 文件,没有实现,然后再编写代码。你会怎么做 be nice是一个可以读取头文件并生成 实现的大纲代码:带有名称空间、嵌套类和 这样的话,仅仅是包装就相当冗长了。但我见过的最接近的 是RationalRose,它以一个(高度)注释的ULM图开始, 并生成实现的头文件和样板文件。 这是一个非常好的工具-我在任何时候都使用它,但是 这对家庭用户来说有点贵,甚至可能对小用户来说
公司。

在Windows下由Whole Tomato完成。虽然我认为不是自动化的。

那么为什么不把所有代码放在h文件中呢?慢速编译模块会更快(或更晚)来到C++,请参阅:这将有望解决它。自动编译的缓慢解析器甚至更糟糕。或者有时候一个人写了一些库,不希望它是“开源的”。通常,C++被设计为具有这种分离。从这个角度来看,拥有这样的工具是一个非常明确的解决方案。@tauran我希望它来得更快!但不幸的是,今天我们生活在“今天”而不是“明天”,这是否回答了你的问题?非常感谢。这看起来真的是我要问的!现在是时候检查它了……因为解析器是手工制作的,我怀疑它分析真实C++语句的能力:模板、函数类型、…@宏伟——这不是VAX所指的最不明显的。