一个大型项目的设计问题,大家来看看
我这里有一个大型的项目, 这个项目中分几个c++小项目,结构大概是这样
common, 项目1, 项目2, 项目3, 项目4...
几个小的项目都公用一个common, 由于一些操作相同,功能相同的东西 项目1, 项目2, 项目3, 项目4都会用到,为了便于管理和清晰性
因此我将这部分功能放到common中去了, 但这部分功能某些模块需要访问小项目的app, 这就导致我需要在common中能够访问到小项目的app
我写了一个头文件, 在项目中定义一些标志, 则这个头文件中 getapp编译后返回的就是这个小项目的app, 但发现编译不通, 不知道有什么好方法?
能否在编译器设置标志, 预编译#if defined判断?g++编译器
[解决办法]
这种互相依赖的做法是不可取的。
你可以使用函数指针,通过回调等方式来消除这种耦合。