深入理解Symbian控件架构
来源:互联网 发布:淘宝店铺怎么排名靠前 编辑:程序博客网 时间:2024/05/07 12:47
在Symbian程序中我们经常会看到IMPORT_C这个关键字,它是C:/Symbian/8.0a/S60_2nd_FP2_SC/epoc32/include下e32def.h文件里面定义的一个宏.
原定义如下:
#define IMPORT_C __declspec(dllexport)
那么__declspec(dllexport)又是什么东东呢?
先看代码:
以下是在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 的导出表中。
Trackback: http://tb.blog.csdn.net/TrackBack.aspx?PostId=1476646
- 深入理解Symbian控件架构
- 深入理解Symbian控件架构
- 深入理解Symbian控件架构
- 深入理解Symbian控件架构
- 深入理解Symbian控件架构
- 深入理解Symbian控件架构
- 深入理解Symbian控件架构
- 深入理解Symbian控件架构
- 深入理解Symbian控件架构
- 深入理解Symbian控件架构
- 深入理解Symbian控件架构
- 深入理解Symbian控件架构
- 深入理解Symbian控件架构
- 深入理解Symbian控件架构
- 深入理解Symbian控件架构
- 深入理解MapReduce架构
- spark架构深入理解
- 深入理解JVM架构
- ListBox控件
- 美国沃尔玛超市出售200美元的Linux PC
- 彻底解决Symbian全屏显示问题
- #define、const、typedef的差别
- 《高质量C++/C编程指南》第9章:类的构造函数、析构函数与赋值函数
- 深入理解Symbian控件架构
- Symbian中IMPORT_C关键字释义
- C++多继承的细节
- 用"C原生API"写Symbian日志文件
- Symbian OS编码诀窍之设计诀窍
- 时间条控件制作简明教程
- 中国的软件人员为什么急功近利?
- gcc与g++的区别
- 无线开发,你凭什么吸引VC?