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

     

  • 相关阅读:
    Map的迭代操作
    Vector/Arraylist与Linklist的区别
    Notepad++ 快捷键 大全
    集成 Tomcat 插件到 Eclipse 的过程
    十个最好的Java性能故障排除工具
    eclipse删除空行
    java解析xml文件四种方式
    Java解析XML文档(简单实例)——dom解析xml
    Log4j 2.0 使用说明
    根据引用jar包路径查找原JAR包
  • 原文地址:https://www.cnblogs.com/letben/p/5223420.html
Copyright © 2011-2022 走看看