首页 文章

在Visual Studio 2005中创建DLL

提问于
浏览
2

我正在开发一个我想传递给我的团队的C库 . 该库只有一个类,有一堆方法 .

因此,我开发了类定义文件(X.cpp)和相应的类声明文件(X.h) .

这是我的问题 -

  • 在Visual Studio 2005中,最简单的方法是将此库构建为DLL,这样我就可以获得以下文件:X.lib:我可以将其传递给我的团队,以便他们可以链接到我的库X.dll :我可以将其传递给我的团队进行运行

  • 而不是DLL,我宁愿去静态库的方式?如果是这样,我如何在Visual Studio 2005中执行此操作并且这会给我一个X.lib文件,我可以将其传递给我的团队?

任何解释或参考都是非常受欢迎的 .

非常感谢你 .

4 回答

  • 1

    构建DLL的最简单方法是New-> Project-> Win32 Console Application . 然后在对话框中选择DLL并选择“Exports Symbols” . 这将使用.h和.cpp文件合成一个dll,该文件演示了如何导出类 . 你可以摆脱这个.h / .cpp,但首先导入你的类添加适当的#ifndef语句 . 现在,就DLL而非静态库而言,如果它只是一个小类,它不会经常变化,你可能会更好地使用静态库,它简单,简洁,它不会添加另一个需要发送的依赖项与您的产品 . 如果.cpp文件中的代码经常更改(即函数实现),则DLL很好,因为您可以只交换新的DLL .

  • 1

    根据您的描述,您似乎已经拥有了一个Visual C项目(如果我错了,请纠正我) . 如果是这样,当您进入项目属性时,在“常规”下,您可以找到“配置类型” - 根据需要将其切换为“静态库”或“动态库” .

    如果选择“静态库”,那么您将获得可立即使用的.lib文件 .

    如果选择"Dynamic library",并从DLL导出任何函数(例如,通过用 __declspec(dllexport) 标记它们),将自动生成导出.lib .

    如果不知道你正在做什么的具体细节,很难说哪个选项更可取 . 一般来说,我建议默认为静态库,因为它通常足够好,并且在处理DLL时会有更多的陷阱(特别是那些导出C符号的陷阱) .

  • 2

    我认为,在大多数情况下,dll是比静态库更好的选择,因为在分发新版本的库时,您的团队不必重新编译代码 .

  • 0

    我有时候也很挣扎......因为我无法找到难以置信的设置在C项目属性中的位置 . 所以我决定将它记录下来,因为我自己的理智为a blog post .

    HTH

相关问题