关于构建windows dll的建议

Recommendations for building a windows dll

本文关键字:dll windows 于构建 构建      更新时间:2023-10-16

我正试图从我正在处理的几个visual c++项目中创建一个Windows dll。我的更大目标是创建一个可以由客户端链接的dll,而不必担心(太多)我的dll是如何编译的细微差别。

  • 如果有一些基本的编译器标志可以被广泛接受,我想更好地理解
  • 如果我需要从Dll中导出,那么应该如何编写结构,是否有公认的过程。尤其是对包装对齐不会太敏感的东西。客户可能有一个4字节的包装,或者他们自己的项目的其他东西。如何确保这不会影响我的标题是否对齐了8字节
  • 创建win32 dll或MFC dll是否重要

我确实构建了我的项目,以便根据这里提到的想法导出类:http://www.codeproject.com/Articles/28969/HowTo-Export-C-classes-from-a-DLL

我脑海中闪过一个要点。

  1. 不要在公共方法签名或结构中使用stl对象
  2. 如果可能的话,在签名中只使用简单的数据类型
  3. 如果必须导出一些结构,请在标头中定义包装

看看创建DLL的最佳实践,这是基本的东西,但经常被忽视的问题,可能会导致非常丑陋的副作用。