__declspec(dllexport)的意思与DEF导出函数的区别
来源:互联网 发布:淘宝代购直播 知乎 编辑:程序博客网 时间:2024/04/30 15:22
先看代码:以下是在dev-c++里建立自已的dll时的dll.h里面的代码,这里面有一个:_declspec(dllexport)
#ifndef _DLL_H_
#define _DLL_H_//防重复定义
#if BUILDING_DLL
# define DLLIMPORT __declspec (dllexport)
#else /* Not BUILDING_DLL */
# define DLLIMPORT __declspec (dllimport)
#endif /* Not BUILDING_DLL */
DLLIMPORT void HelloWorld (void);
#endif /* _DLL_H_ */
上面代码里面的_delcspce(dllexport)被定义为宏,这样可以提高程序的可读性!这个的作是是将函数定义为导出函数,也就是说这个函数要被包含这个函数的程序之外的程序调用!本语句中就是:void Helloword(void):
摘自msdn:在 32 位编译器版本中,可以使用 __declspec(dllexport) 关键字从 DLL 导出数据、函数、类或类成员函数。__declspec(dllexport) 将导出指令添加到对象文件
若要导出函数,__declspec(dllexport) 关键字必须出现在调用约定关键字的左边(如果指定了关键字)。例如:
__declspec(dllexport) void __cdecl Function1(void);
若要导出类中的所有公共数据成员和成员函数,关键字必须出现在类名的左边,如下所示:
class __declspec(dllexport) CExampleExport : public CObject{ ... class definition ... };
生成 DLL 时,通常创建一个包含正在导出的函数原型和/或类的头文件,并将 __declspec(dllexport) 添加到头文件中的声明。若要提高代码的可读性,请为 __declspec(dllexport) 定义一个宏并对正在导出的每个符号使用该宏:
#define DllExport __declspec( dllexport )
__declspec(dllexport) 将函数名存储在 DLL 的导出表中。如果希望优化表的大小
更多详细信息请看:
http://msdn.microsoft.com/library/chs/default.asp?url=/library/CHS/vccore/html/_core_export_from_a_dll_using___declspec.28.dllexport.29.asp
- __declspec(dllexport)的意思与DEF导出函数的区别
- __declspec(dllexport)的意思与DEF导出函数的区别
- __declspec(dllexport)的意思与DEF导出函数的区别
- __declspec(dllexport)的意思与DEF导出函数的区别
- __declspec(dllexport)的意思与DEF导出函数的区别
- __declspec(dllexport)的意思与DEF导出函数的区别
- __declspec(dllexport)的意思与DEF导出函数的区别
- __declspec(dllexport)的意思与DEF导出函数的区别
- __declspec(dllexport) 的意思与DEF导出函数的区别(转)
- DLL中__declspec(dllexport)和.def(模块定义文件)定义导出函数的一点区别
- dll的def文件与__declspec(dllexport)导出函数方式比较
- dll的def文件与__declspec(dllexport)导出函数方式比较
- dll的def文件与__declspec(dllexport)导出函数方式比较
- dll的def文件与__declspec(dllexport)导出函数方式比较
- dll的def文件与__declspec(dllexport)导出函数方式比较
- dll的def文件与__declspec(dllexport)导出函数方式比较
- __declspec(dllexport)的意思
- __declspec(dllexport)的意思
- session丢失后登陆自动跳转到 刚才操作的页面
- HelloWorld---Java Card
- Java Card开发常用的包(整理)
- 万亿美元难救美国经济
- SiteMapPath使用QueryString路径
- __declspec(dllexport)的意思与DEF导出函数的区别
- “燕云十六将”之橙子刘龙静
- 摘录:利用共享内存实现进程间通信
- web开发工具(ColorPic,HttpWatch,IEDevToolBar)
- Spring学习笔记之Spring中applicationContext.xml的bean里的id和name属性区别
- 用java获得客户端真实的ip地址
- 2.6内核netfilter包截获
- VC下添加和删除系统托盘图标,及托盘事件的响应
- just a life