wenwenziy
Results
1
issues of
wenwenziy
为了回应作业要求,简单看了下与 stb 以及设计原则相关的两个仓库,发现仓库的设计相当有趣。在 cmake 的构建过程中,通过 自己定义 stbw/stbw_config.cpp 文件,将 .h 文件通过宏命令静态切换为实现版本,再生成对应的静态/动态链接库(可以发现 build/stbw/ 目录下的 libstbw.a 文件)。最后,通过 cmake 来链接起项目中源文件,实现了 .h 单文件中接口声明与实现的分离(cpp程序只需要 include 接口版本,链接实现版本生成的链接库)。 我想了想,这样做的好处在于: 1. 项目文件简洁:虽然按照传统的 头文件声明-cpp文件实现 的策略一样可以达成这接口-实现的分离,但是文件多起来难免看起来不那么简洁优雅。 2. 取消文件依赖关系:单个头文件中完成接口和实现,用宏命令分隔,cpp 文件仅起定义用户配置的作用,取消了项目文件之间的依赖关系,使用不易出错。 坏处可能是: 1....