调用dll有两种方式,隐式
链接(exe加载时需要)和
显示链接(运行时
调用)
结论:想将编写的dll
文件暴露给外部使用,有三种办法;
1. 使用.def
文件
2. 使用__declspec(dllexport)
3. 使用__declspec(dllimport)【推荐】
正确编译
代码不需要使用 __declspec(dllimport),但是这样做可以让编译器
生成更优质的
代码。 编译器能够
生成更好的
代码,因为它可以确定某个
函数是否存在于 DLL 中,这使编译器
生成的
代码可以跳过在跨越 DLL 边界的
函数调用中通常存在的间接级别。 不过,必须使用 __declspec(dllimport) 来导入 DLL 中使用的变量。
官方推荐写法:这样在
生成dll的项目中使用的是dllexport,而在使用dll的项目中使用的是dllimport
#ifdef MATHLIBRARY_EXPORTS
#define MATHLIBRARY_API __declspec(dllexport)
#else
#define MATHLIBRARY_API __declspec(dllimport)
#endif
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。