zoukankan      html  css  js  c++  java
  • 动态链接库(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);//卸载链接库
        }    

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

  • 相关阅读:
    ROS 八叉树地图构建
    2020
    Ubuntu 16.04 配置开机自动挂载 NTFS 机械硬盘!
    从 0 开始机器学习
    Ubuntu Install kitti2bag
    Ubuntu install sublime-text3
    Ubuntu 修复不能访问正确挂载机械硬盘的问题
    Ubuntu 16.04 安装 NVIDIA 显卡驱动!
    ROS 机器人技术
    phpMyAdmin getshell 学习
  • 原文地址:https://www.cnblogs.com/ling123/p/5389993.html
Copyright © 2011-2022 走看看