Dll 在windows下将静态链接库转换为动态链接库

Dll 在windows下将静态链接库转换为动态链接库,dll,Dll,我正在评估将我们的程序从30多个静态链接库更改为30多个动态链接库的好处。我们希望通过更改为DLL,它将减少链接时间 一个直接的问题是需要在所有类前面添加_declspec,以创建lib文件供其他DLL链接。有没有办法绕过这个问题?编译器中是否有强制生成库的标志,以便使DLL中的所有类都可用于导出?如果没有,是否有任何现有的脚本/程序可以这样做?这无疑会使从静态链接库到动态链接库的切换变得更加容易。如果没有,declspec背后的理由是什么?为什么不提供一个使所有dll函数都可导出的选项 谢谢。

我正在评估将我们的程序从30多个静态链接库更改为30多个动态链接库的好处。我们希望通过更改为DLL,它将减少链接时间

一个直接的问题是需要在所有类前面添加_declspec,以创建lib文件供其他DLL链接。有没有办法绕过这个问题?编译器中是否有强制生成库的标志,以便使DLL中的所有类都可用于导出?如果没有,是否有任何现有的脚本/程序可以这样做?这无疑会使从静态链接库到动态链接库的切换变得更加容易。如果没有,declspec背后的理由是什么?为什么不提供一个使所有dll函数都可导出的选项


谢谢。

也许已经太晚了,但您是否考虑过使用文件?

有另一种方法可以解决您的问题

您只需要创建一个定义文件(.def)并导出所有要共享的方法或类

U还必须设置: 属性->链接器->输入->模块定义文件->添加创建的.def文件的名称

现在使用运行时动态链接: 在要调用导出方法的项目中,使用LoadLibrary获取Dll的句柄,并使用GetProcAddress调用所需的方法