zoukankan      html  css  js  c++  java
  • 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

     

  • 相关阅读:
    c# IOSerialize 验证码、图片缩放
    SqlServer 分库分表
    权限系统数据库设计
    SqlServer 读写分离
    树转二叉树
    数据结构:图的存储结构之邻接矩阵、邻接表
    【数据结构】数据结构-图的基本概念
    哈夫曼树
    二叉树遍历方法
    Oracle 检查约束check
  • 原文地址:https://www.cnblogs.com/letben/p/5223420.html
Copyright © 2011-2022 走看看