C语言创建并使用dll

利用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

 

原文地址:https://www.cnblogs.com/letben/p/5223420.html