- 主题:我也折腾了一下C++Modules
前两天写了个小程序1000多行,单个.cpp文件。
反正也需要拆分,索性试试用模块来实现拆分吧。
最终拆成了14个模块加一个主程序。
遇到的坑主要是ATL的头文件,不能放在模块声明的下面,链接会报错,因为里面有全局变量,被模块把作用域给改了。
cloc --vcs=git .
23 text files.
21 unique files.
2 files ignored.
cloc v 2.06 T=0.74 s (28.3 files/s, 2005.2 lines/s)
-----------------------------------------------------------------------------------
Language files blank comment code
-----------------------------------------------------------------------------------
C++ 15 171 77 937
XML 2 0 0 269
C/C++ Header 3 6 4 22
Windows Resource File 1 1 0 2
-----------------------------------------------------------------------------------
SUM: 21 178 81 1230
-----------------------------------------------------------------------------------
--
FROM 171.221.52.*
我用的VS2026 insiders,这个预览版的模块支持是最好的。
g++15.1我也试了,也能支持模块,功能已经转正了,但支持度比VC++稍低一些
【 在 deusomax 的大作中提到: 】
: 什么编译器,g++不支持吧
--
FROM 171.221.52.*
比起总要一个.h一个.cpp两个文件来回切换着写代码,还是要舒服多了。
我比较能接受的另一个原因是以前用了一段时间pascal,现在还在用python,都是类似的单元/模块结构。
【 在 finlab 的大作中提到: 】
: 我也试过用模块,后来又改回去了。
: 觉得c++的模块别扭,不如原来的头文件顺手
:
: ...................
--
FROM 171.221.52.*