非常感谢,我把那个书找来看看。
我准备分出来的a是基础库,用来提供通用功能。但是如果依赖lib,那不是把a做成了静态库?这样b引用头文件和lib后,直接就编译成结果DLL了,运行时不应该需要a了吧?
因为我目前的项目,就是引用了第三方lib,但是编译后的DLL运行时并不需要其他dll。
如果我的a做成静态库得到lib,那么b依赖a就如同我目前依赖第三方lib一样,编译好b运行时应该不需要a的dll了。
不知道理解的对不对,请多多指教。
【 在 DoorWay @ [CPlusPlus] 的大作中提到: 】
:
: a是基础库非界面的话,依赖a的头文件和.lib。 这不妨碍你的目标:基础功能不频繁改动。假装这是别的部门/公司提供的模块。运行时才需要dll。
:
: a是含界面的核心功能的话(框架),典型的插件机制,a对b一无所知。
: a启动时,读入配置文件如json中的*.dll,然后依次LoadLibrary,p=findSymbol,调用p。p的存在是一种人的约定,没有编译器的约束。这种情况,b未依赖a,不符合你的描述。
#发自zSMTH@一代鸡皇水果iPhone 250 MAX
--
FROM 82.19.154.*