每次写dll的时候都不知道该选哪一种导出方式,在参考几篇文章之后总算乌云渐开。
参考文章:
DLL 函数导出的规则和方法:https://blog.csdn.net/xiaominggunchuqu/article/details/72837760
这篇详细介绍了dll的编译机制,为什么需要导出函数,以及两种导出函数的用法。
__declspec(dllexport)和__declspec(dllimport)搭配使用效率更高哦~
DLL 导出方法(两种):https://blog.csdn.net/yansmile1/article/details/53009794
通过这篇文章,知道 .def编译出来的dll不能用于不同版本的工程,比如用vs2015编译的dll,只能用于vs2015下的工程。而__declspec(dllexport)是通用编译器的。
许多导出指令(如序号、NONAME 和 PRIVATE)只能在 .def 文件中创建,并且必须使用 .def 文件来指定这些属性。不过,在 .def 文件的基础上另外使用 __declspec(dllexport) 不会导致生成错误。