类库接口文件的使用(导出类)

         将工程导出的dll、h、lib作为动态库给其他工程使用时,dll需要提供def文件来指引找到lib文件。使用dllexport和dllimport声明可以省略给出def文件,使用方法如下:

 

globalDef.h:

#ifdef DLL_EXPORTS

#define GLOBALINTERFACE_API __declspec(dllexport)

#else

#define GLOBALINTERFACE_API __declspec(dllimport)

#endif

 

Interface.h:

#include “globalDef.h”

class GLOBALINTERFACE_API A{ static int a; }

 

Interface.cpp:

#include “Interface.h”

static A::a = 0;

 

user.cpp:

#include “Interface.h”

A::a = 1;

 

同时需要在导出的dll的工程中设置属性 - c/c++ - 预处理器 – 预处理器定义为DLL_EXPORTS。

为了使导出模块更通用,可以和extern “C”一起使用,将接口声明为C语言风格(对外剔除类的概念),使用方法如下:

 

G_API.h:

namespace ExternInterface {

         extern "C" GLOBALINTERFACE_API void callInterface(bool iscall);

}

 

User.cpp:

ExternInterface:: callInterface(true);

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值