xinran0703 2015-09-11 02:03 采纳率: 0%
浏览 1517

如果加载了aa.lib文件,为什么还需要加载aa.dll

在一个vs2010开发的工程的“附加依赖项”中加载了一个静态链接库,aa.lib, 可是运行时提示找到不到aa.dll, 然后又在c盘的system32中拷入了aa.dll,运行正常了。

我不明白的地方是:程序不是已经加载了aa.lib 了吗, 为什么还需要aa.dll? 生成的aa.lib和aa.dll是有区别的吗?

  • 写回答

1条回答 默认 最新

  • J-xin 2015-09-11 03:07
    关注

    lib文件通过编译才可以使用,编译分静态与动态之分。

    静态编译

    静态lib将导出声明和实现都放在lib中。编译后所有代码都嵌入到宿主程序

    动态编译

    动态lib相当于一个h文件,是对实现部分(.dll文件)的导出部分的声明。编译后只是将导出声明部分编译到宿主程序中,运行时候需要相应的dll文件支持

    评论

报告相同问题?

悬赏问题

  • ¥15 display:none;样式在嵌套结构中的已设置了display样式的元素上不起作用?
  • ¥15 arduino控制ps2手柄一直报错
  • ¥15 使用rabbitMQ 消息队列作为url源进行多线程爬取时,总有几个url没有处理的问题。
  • ¥15 求chat4.0解答一道线性规划题,用lingo编程运行,第一问要求写出数学模型和lingo语言编程模型,第二问第三问解答就行,我的ddl要到了谁来求了
  • ¥15 Ubuntu在安装序列比对软件STAR时出现报错如何解决
  • ¥50 树莓派安卓APK系统签名
  • ¥65 汇编语言除法溢出问题
  • ¥15 Visual Studio问题
  • ¥20 求一个html代码,有偿
  • ¥100 关于使用MATLAB中copularnd函数的问题