在编写 C++ 代码时,我通常首先在头文件中编写完整的“实现”代码,然后需要将实现重构为 .cpp 文件。
这很好,但我发现这个过程很费力,但在其他方面很容易,所以我想知道是否有任何自动化的方法可以做到这一点?
具体来说,我想将.h
to 声明中的所有类和函数定义转换,并将它们声明在一个新.cpp
文件中。
我正在使用 xcode,但我愿意接受任何解决方案。
在编写 C++ 代码时,我通常首先在头文件中编写完整的“实现”代码,然后需要将实现重构为 .cpp 文件。
这很好,但我发现这个过程很费力,但在其他方面很容易,所以我想知道是否有任何自动化的方法可以做到这一点?
具体来说,我想将.h
to 声明中的所有类和函数定义转换,并将它们声明在一个新.cpp
文件中。
我正在使用 xcode,但我愿意接受任何解决方案。
您可能还对 Eclipse 的功能“重构/切换功能”感兴趣。然而,它并不总是正常工作。
C++20 模块本质上是为我们做的
如前所述:https : //quuxplusone.github.io/blog/2019/11/07/modular-hello-world/ clang 2019-11 实现了它:
clang++ -std=c++2a -c helloworld.cpp -Xclang -emit-module-interface -o helloworld.pcm
clang++ -std=c++2a -c -fprebuilt-module-path=. -o helloworld.o helloworld.cpp
clang++ -std=c++2a -fprebuilt-module-path=. -o main.out main.cpp helloworld.o
在哪里:
helloworld.cpp
包含实现helloworld.pcm
是一个预编译模块,基本上是一个自动提取的头文件.cpp
(但采用 clang 内部语言格式),它可以在main.cpp
没有.hpp
所以基本上clang是工具,因此解析是完美的。