vs2019下DLL的创建及使用注意事项

创建过程不多讲,这里主要关注一些实际应用问题:

  1. 代码应该同时考虑32和64位平台兼容情况,数据类型需要区分清楚。
  2. 交付使用时,应当将dll从CRT中剥离出来,或者拷贝对应的MSVCRTD.LIB,如:MSVCR80.DLL----> vs2005,  MSVCR90.DLL---->vs2008,  MSVCR100.DLL---->vs2010
  3. 在项目->属性->c/c++->代码生成里面将运行库修改为debug版本的多线程调试 (/MTd)或Realease版本的多线程 (/MT)。/MT意思就是静态编译VC运行库,静态了之后就不会再依赖CRT(run time library)了。各种动态库的理解见CRT运行时库。
  4. 同时,应避免使用c++的STL模板类型传参,如string\vector等,应当使用纯C写接口,否则会出现内存方式不一致的情况。

 

(未完待续)

你可能感兴趣的:(C++)