现在的位置: 首页 > 综合 > 正文

重载动态库 dll

2013年08月12日 ⁄ 综合 ⁄ 共 404字 ⁄ 字号 评论关闭
动态库 dll 也可以重载,如下示例:
// dll.cpp
#include "dll.h"
extern "C++" int max(int a,int b)
{
    return a>b?a:b;
}
extern "C++" float max(float a,float b)
{
    return a>b?a:b;
}
int min(int a,int b)
{
    return a>b?b:a;
}
// dll.h
#ifdef DLL_API
#else
#define DLL_API __declspec(dllexport)
#endif

DLL_API  int  max(int a,int b); //
DLL_API  float max(float a,float b);//
DLL_API int min(int a,int b);
但是重载后的动态库将不再被能 被 C语言调用,而只能使用在C++语言中
因此一般的动态库并不提供重载,并且为函数前加贴 extern "C" 使其为C留下接口

【上篇】
【下篇】

抱歉!评论已关闭.