c# 引用c语言dll文件,C#直接使用DllImport调用C/C++动态库(dll文件)

1.C/C++动态库的编写

下面是我编写的一个比较简单的C++dll文件用来测试,关于如何编写dll文件,我这里便不再赘述,不懂得自行查询,

(1).h文件

#ifdef MYDLL_EXPORTS

#define MYDLL_API __declspec(dllexport)

#else

#define MYDLL_API __declspec(dllimport)

#endif//求两个整数的和(普通类型的参数)

extern "C" MYDLL_API int GetSum(int nNum1, int nNum2);

//获取两个整数中的最大值(含有整数类型的指针为参数)

extern "C" MYDLL_API int GetMaxValue(int *pValue1, int* pValue2);

//获取两个整数中的最小值,最小值以传出参数获取

extern "C" MYDLL_API void GetMinValue(int *pValue1, int* pValue2, int *pMinValue);

//带有char[]与char*参数

extern "C" MYDLL_API int GetLength(char szName[], char* szBirth);

(2).cpp文件

//求两个整数的和(普通类型的参数)

extern "C" MYDLL_API int GetSum(int nNum1, int nNum2)

{

return (nNum1 + nNum2);

}

//获取整个整数中的最大值

extern "C" MYDLL_API int GetMaxValue(int *pValue1, int* pValue2)

{

return (*pValue1 > *pValue2) ? *pValue1 : *pValue2;

}

//获取两个整数中的最小值,最小值以传出参数获取

extern "C" MYDLL_API void GetMinValue(int *pValue1, int* pValue2, int *pMinValue)

{

if (*pValue1 < *pValue2)

{

*pMinValue = *pValue1;

}

else

{

*pMinValue = *pValue2;

}

}

//带有char[]与char*参数

extern "C" MYDLL_API int GetLength(char szName[], char* szBirth)

{

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值