• 3837阅读
  • 1回复

[提问]加载C++的DLL问题 [复制链接]

上一主题 下一主题
离线xiao_xiao_ca
 
只看楼主 正序阅读 楼主  发表于: 2012-05-29
    QLibrary lib("parse.dll");
    if(lib.load()){
        QMessageBox::information(NULL,"OK","DLL load is OK!");
        typedef int(*AFunction)(char*, asset_t*);
        AFunction assetry = (AFunction)lib.resolve("parse_map");
        if(assetry){
            qDebug() << tr("加载函数成功!");
        }
        else
            qDebug() << tr("加载函数失败!");
        typedef int(*PFunction)(char*, packing_t*);
        PFunction pack = (PFunction)lib.resolve("parse_list");
        if(pack){
            qDebug() << tr("加载函数成功!");
        }
        else
            qDebug() << tr("加载函数失败!");
    }
    else{
        qDebug() << tr("加载DLL失败!");
    }

请问下上面这段代码,加载DLL是成功的,为什么加载函数是失败呢?用DLL export viewer查看这两个导出函数是正常的,那这个失败的原因是因为asset_t*和asset_t*这两个自定义结构体的问题么?如果是这个问题,而代码里一定要用到这两结构体,应该怎么办呢?请大家帮忙看看。。。
离线roywillow

只看该作者 1楼 发表于: 2012-05-30
专业维修核潜艇,回收二手航母、二手航天飞机,大修核反应堆,拆洗导弹发动机更换机油,无人侦察机手动挡改自动,航天飞机保养换三滤,飞碟外太空年检 ,各型号导弹加装迎宾踏板,高空作业擦洗卫星表面除尘、打蜡及抛光,东风全系列巡航导弹。并提供原子对撞机。量大从优,有正规发票。
快速回复
限100 字节
 
上一个 下一个