在symbion os中的IMPORT_C和EXPORT_C

__declspec(dllexport)用于指定在DLL中对外可见的元素,如函数、数据、类及其成员。该关键字告知编译器在创建DLL时进行特殊处理,使得外部程序能够访问到这些元素。修饰名在DLL中标识这些导出项。

在e32def.h文件中第85行和90行可以找到这两个宏的定义如下:

  • #define IMPORT_C __declspec(dllexport)
  • #define EXPORT_C __declspec(dllexport)

显而易见,要想知道怎么用这两个宏只要弄清楚怎么使用__declspec(dllexport)。现在我们来说说__declspec(dllexport)。

 

__declspec(dllexport)是动态链接库技术范畴的一个概念,我这么说是想告诉大家现在已经和symbian os没有关系了。

 

__declspec(dllexport)关键字告诉编译器在创建dll的时候有哪些函数、数据、类以及类成员是对外可见的,需要编译器做特殊处理。 对外可见就是大家所说的导出的意思。

 

这些被导出的函数、数据、类以及类成员被放在二进制dll的某个特殊位置,至于放在什么地方,调用程序怎么去查找它们在dll中位置以后再说。在这里只需要注意:在dll中的名字是它们的修饰名。(大家都知道一个程序中可读的函数名在编译后会生成一个唯一的标示符,这就是修饰名。修饰名的生成没有规则,不同的编译器有不同的规则)。如果你想看看一个dll导出了哪些东西,可以用visual studio的一个小工具dumpbin,这个工具very nice,hehe。

 

1、导出函数的语法是:

 

__declspec(dllexport) TInt __cdecl function_name(TInt para);

 

2、导出类的语法:

 

class __declspec(dllexport) CExportClass : public CBase

{

   。。。。

}

 

其他类似

 

 

 

 

评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值