• 动态链接库(dll)文件的动态调用(使用动态链接库,解析Wis文件--测井数据文件的一种)


      在画出井眼轨迹后,老师又给了三口井的数据,不过这次给的数据是WIS格式的,可以使用一个动态链接库进行解析,解析结束后会生成一个固定格式的txt文件,然后再读取txt文件,画井眼轨迹。

      学长给了一个可以将wis文件转化成txt文件的动态链接库(dll)及其头文件。在网上搜资料的时候,看到有两种情况:有lib文件、头文件和dll文件;只有dll文件。但是我有的是头文件和dll文件。。。后来我才发现,我这种属于后一种情况:只有dll文件。

      头文件的作用只是告诉我,链接库里的函数是怎么声明的,这样我在动态加载链接库的时候就可以知道,怎么去找函数了。下面是我的实现过程。

    typedef void (*Func)(char *inName, char *outName);//我这里实现的是读入wis文件,输出txt文件
        HMODULE hDll = LoadLibrary(L"WisReader.dll");//加载dll文件
        if(hDll != NULL)
        {
            qDebug()<<"sucess"<<endl;//测试是否读取成功
            Func ReadWis;
            ReadWis = (Func)::GetProcAddress(hDll,"ReadWis");//找到dll文件里的实现函数
            ReadWis("xxxx.wis","xxxx.txt");调用
            (Func)::FreeLibrary(hDll);//卸载链接库
        }    

        第一种情况的话,网上有很多教程和对三个文件的解释。

  • 相关阅读:
    codeAnalyze_函数赋值给另一个函数的形参
    js_new关键字创建对象的五个步骤
    codeRecord_bind
    js_活动对象与变量对象的区别
    将linux的随机ip固定为设置的固定ip
    Springcloud总结
    Jackson的使用
    Lucene的初步了解和学习
    Shiro安全框架
    关于xpath中的tbody
  • 原文地址:https://www.cnblogs.com/ling123/p/5389993.html
Copyright © 2020-2023  润新知