1

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

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

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

4

2 回答 2

1

某个点女巫掠过我的脑海。

  1. 不要在公共方法签名或结构中使用 stl 对象。
  2. 如果可能,请在您的签名中仅使用简单的数据类型。
  3. 如果您必须导出一些结构,请在标题中定义包装。
于 2012-07-22T15:24:05.153 回答
0

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

于 2012-07-23T13:39:09.233 回答