CraneImage.h文件:
///////////////////////////////////////////////////////////////////////////////
// @file: CraneImage.h
// @note: HangZhou ****** System Technology Co.,Ltd All Right Reserved
// @brief: 基于OpenCV开发的图片缩放切片库
// @author: xuejainhui@******.com.cn
// @data: 2017/11/08
// @note: ***模块头文件
// @Modification History:
// <version> <time> <author> <desc>
// 0.1 2017/11/08 xuejianhui Create
//
//
// @waining:
// (1)CrImgInit()和CrImgFree()只由调用者在使用前后调用,不支持重复调用。
// (2)CrImgDeal()暂不支持并发处理多个任务。
///////////////////////////////////////////////////////////////////////////////
#ifndef __CRANE_H__
#define __CRANE_H__
#if (defined _WIN32 || defined _WIN64)
# ifdef CRANEIMAGE_EXPORTS
# define CRANES_C_API __declspec(dllexport)
# else
# define CRANES_C_API __declspec(dllimport)
# endif//CRANEIMAGE_EXPORTS
# define CRANES_CALL __stdcall
#else
# ifdef __linux__
# define TALKCLIENT_EXTERN
# endif//__linux__
# define CRANES_CALL
#endif//_WIN32 or _WIN64
#ifdef __cplusplus
extern "C" {
#endif //__cplusplus
/**@define 图像初始化接口
** @return bool : true,表示执行成功;false,表示执行失败。
*/
CRANES_C_API bool CRANES_CALL CrImgInit();
/**@define 图像反初始化接口
**
*/
CRANES_C_API void CRANES_CALL CrImgFree();
/**@define 获取库名称接口(简单测试接口)
** @return const char* : 返回库名称的字符串
*/
CRANES_C_API const char* CRANES_CALL CrImgGetLibName();
/**@define 图像处理接口(暂不支持并发处理多个任务)
** @parmes szReqXML : 请求参数的XML报文
** @parmes szRspXML : 执行结果的XML报文
** @return bool : true,表示执行成功;false,表示执行失败。
*/
CRANES_C_API bool CRANES_CALL CrImgDeal(const char* szReqXML, char* szRspXML);
#ifdef __cplusplus
} // extern "C" {
#endif //__cplusplus
#endif //__CRANE_H__
CraneImage.cpp文件:
#include "CraneImage.h"
//
CRANES_C_API bool CRANES_CALL CrImgInit()
{
//......
retrun true;
}//CrImgInit()
//
CRANES_C_API void CRANES_CALL CrImgFree()
{
//......
}//CrImgFree()
//
CRANES_C_API const char* CRANES_CALL CrImgGetLibName()
{
return "Thousand Origami Cranes";//千纸鹤
}//CrImgGetLibName()
//
CRANES_C_API bool CRANES_CALL CrImgDeal(const char* szReqXML, char* szRspXML)
{
//......
return true;
}//CrImgDeal(..)