我有一个关于在Visual Studio 2005及更高版本中构建/链接DLL的问题。基本上,我的理解和经验是这样的:
要构建一个DLL,我需要指定项目属性以构建DLL,然后我需要在任何要从DLL公开暴露的函数或成员前加上__declspec(dllexport)。构建项目将会生成一个DLL、一个Lib和一个头文件,可以作为API等部署。
另一方面,为了使其他已编译的可执行应用程序动态链接到DLL并使用其函数,您只需要让可执行项目包含头文件并链接到在构建DLL时创建的小型lib文件即可。只要已编译的应用程序能够找到DLL,一切都会正常工作。
这是我的经验,也是Microsoft DLL构建教程在MSDN上描述所有内容的方式。我想知道:这是标准做法吗?何时需要在任何地方使用__declspec(dllimport)?我有什么遗漏的吗?
谢谢!
要构建一个DLL,我需要指定项目属性以构建DLL,然后我需要在任何要从DLL公开暴露的函数或成员前加上__declspec(dllexport)。构建项目将会生成一个DLL、一个Lib和一个头文件,可以作为API等部署。
另一方面,为了使其他已编译的可执行应用程序动态链接到DLL并使用其函数,您只需要让可执行项目包含头文件并链接到在构建DLL时创建的小型lib文件即可。只要已编译的应用程序能够找到DLL,一切都会正常工作。
这是我的经验,也是Microsoft DLL构建教程在MSDN上描述所有内容的方式。我想知道:这是标准做法吗?何时需要在任何地方使用__declspec(dllimport)?我有什么遗漏的吗?
谢谢!