利用C语言创建 利用 C++使用:
参见前面 利用C语言创建并使用lib
如法炮制创建 showDll
Dll代码
__declspec(dllexport) double myDivision(int a, int b) { if (b == 0){ return 1.2345678; } else{ return a / b; } }
创建完成。
现在开始使用的部分://变了一个招,把自己弄进去了我说怎么能输出0呢。。。应该%f输出
新建一个项目:
这样写就可以了
#include <iostream> #include <windows.h> typedef double(*divFunc)(int a, int b);//定义那个我们要使用的函数 int main(){ HMODULE mydivision = LoadLibrary("showDll.dll");//利用windows的函数,加载我们的DLL,得到一个处理模块儿,我们称它为mydivision,这样起名字其实不好,这是当初根据另外一个csdn得到的所以姑且这么用吧。 divFunc myDivided = (divFunc)GetProcAddress(mydivision, "myDivision");//使用得到处理进程的地址的一个函数,使用,处理模块儿那个对象,然后调用里面这个 名称为myDivision这个函数,然后强制类型转换成我们在开始声明的类型。 if (myDivided == NULL){ printf("null"); } else { printf("%f", myDivided(6, 2));//然后就能够调用了。 } system("pause"); return 0; }
参见博文:http://www.jellythink.com/archives/111