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);//卸载链接库
        }    

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

  • 相关阅读:
    错误处理
    触发器
    存储过程
    用户自定义函数
    动态 SQL
    临时表
    游标
    流程控制元素
    锁定和阻塞
    Spring内置事件以及自定义事件
  • 原文地址:https://www.cnblogs.com/ling123/p/5389993.html
Copyright © 2011-2022 走看看