giligiliai123 2023-09-05 19:44 采纳率: 0%
浏览 3

c++隐式链接如何校验dll

在exe文件中使用了隐式链接,调用了外部dll文件中的 a 函数,但是假如外部的dll文件是老版的dll,当中没有 a 函数,如何在exe文件中捕捉这个异常,并抛出异常,我尝试用了try catch,但是隐式链接时,exe在调用dll文件中不存在的函数的时候就会报出 无法定位程序输入点balabla,然后系统自动中止程序,抛出不了异常,这个问题应该如何解决呢?或者说在exe文件中如何校验隐式链接的dll文件。

  • 写回答

3条回答 默认 最新

  • 波塞冬~ 2023-09-05 20:10
    关注
    
    FARPROC pFunc = GetProcAddress(hDll, "MyFunction");  
        if (pFunc == NULL) {  
            //报错、释放dll。
            return;
        }  
    

    使用之前校验DLL中的函数是否存在。
    如果解决您的问题,请点赞采纳,谢谢。

    评论

报告相同问题?

问题事件

  • 创建了问题 9月5日

悬赏问题

  • ¥24 matlab怎么修改仿真初始时间
  • ¥15 卷积的时候总出现广播不过去的问题
  • ¥15 两分段线性回归模型分析阈值效应
  • ¥15 前端和后端代码都没报错,但是点登录没反应的?
  • ¥100 需要远程解决QSQLITE问题!
  • ¥15 利用光场表达式画出初始光场强度分布图像等几个问题在这两个图片里
  • ¥15 gozero求手把手教学,400一天
  • ¥15 泥浆冲清水的泥浆分布
  • ¥15 LASSO回归分析筛选关键基因,适合多大样本量?
  • ¥88 error: [polling_error] {"code":"ETELEGRAM","message":"ETELEGRAM: 502 Bad Gateway"}错误