例如,我有两个共享某些功能的项目,让他们说A和B.所以我创建了另一个包含公共代码的库项目C. 我将公共代码放在一个类中,但在类中,并非所有方法都在两个项目中使用。 其中一些仅用于A,一些仅用于B,其余用于两者。
现在,在编译之后,我得到了A.exe,B.exe和C.dll。我想要的是:
我不想要dll,只想要A.exe和B.exe
我不希望只在A.exe中使用的方法出现在B.exe中,反之亦然。
合并dll和exe可以解决问题1,但是2?
怎么样?答案 0 :(得分:1)
您所描述的是静态库,而不是DLL。
如果C是一个静态库,那么当你编译A(编译器设置为删除未使用的东西)时,A的exe将从静态库C获取A所需的所有代码并直接放入可执行程序。 B也是如此。
但那并不是DLL的工作方式。
使用DLL,A正在获得"服务"来自C的一些代码,但由于代码存在于C中,因此A无法控制C中的代码。
正如@RobertMoskal指出的那样,有些答案可以满足您的需求。我只想澄清你的意图与Dlls的设计背道而驰,尽管可以使用其他地方提到的工具来完成。