TA的每日心情 | 奋斗 2022-7-4 09:45 |
---|
签到天数: 28 天 [LV.4]偶尔看看III
版主
- 积分
- 5491
|
发表于 2019-12-17 17:59:52
|
显示全部楼层
首先要护明白MT和MD有什么区别。
MTd,MDd是相对于MT,MD的。前面是debug版本,后面是release版本。
MT,MD是指C++运行时库CRT的链接方式。
MT方式链接CRT,自己的DLL或者EXE里会有一份CRT代码,这样好处是运行时不需要依赖VS的CRT库,特别适合小项目。坏处是如果多个项目中有多个模块,模块之间只能传递基本数据类型,不能传递如CString, std等对象(主要是不能写对象)。
MD方式链接CRT,所有模块共用VS的CRT库,缺点是软件发布的时候需要带上VS的CRT。优点就是所有模块共享一个CRT,程序体积可以缩小,模块之间传递参数也也可以很简单,和模块内没有什么区别。
SOUI中一般使用MT,主要是我不喜欢依赖VS的CRT。然后SOUI的集合对象如SStringT, SArray, SList, SMap等对象都的内存申请都在同一个模块,可以在不同模块之间传递。 |
|