从今天开始,我们着手基于C#编写一些有实在意义应用程序例程:
这一章主要讲解如何生成dll文件库,对于这个dll创建,我们其实之前也是有讲解过的,也就是创建cpp和h文件,并在h文件中定义接口 #define DLL_API extern "C" _declspec(dllexport)
并声明入口函数: DLL_API (type) function(value1, ...value n); .这一章为了装一下逼,我们用另外一种方法来创建生成我们的dll动态库文件。
- 创建工程new--- project---- visual c++ --- win32 project---Dll
- 定义入口函数功能算法,我们这里定义一个实现加减乘除的算法:
// cppDll.cpp : Defines the exported functions for the DLL application. // #include "stdafx.h" /// c=‘+‘: addition,c=‘-‘:subtraction,c=‘*‘:multiplication,c=‘/‘:division double Calculation(double a, double b, const char c) { switch (c) { case ‘+‘: return a + b; break; case ‘-‘: return a - b; break; case‘*‘: return a*b; break; case‘/‘: if (b != 0) { return a / b; } else { return 0; } break; default: return 0; break; } }
- 这里我们开始用另外一种方法实现动态库接口定义: add new Item--- Visual C++---- code---- Module-definition Flie(.def)
- 在def文件定义库和接口函数名称,注意这里我们只需要输出接口名称即可,不需要带参数:
LIBRARY cppDll.dll EXPORTS Calculation
- 编译,即可在项目目录下Debug文件夹内生成我们的dll库文件了。
下一章我们将讲解,C#如何调用该动态库内接口实现我们的算法。
End.
谢谢.