1、利用VS工具中的dumpbin.exe可以查看lib、dll中的函数,查了的命令如下:

本电脑安装的VS2017,dumpbin.exe的路径在D:\Program Files (x86)\Microsoft Visual Studio\2017\Community\VC\Tools\MSVC\14.14.26428\bin\HostX64\x64下,命令如下:

(1)查看lib文件中函数命令:

dumpbin.exe /LINKERMEMBER "D:\Qt\Qt5.13.0\5.13.0\msvc2017\lib\Qt5Concurrent.lib" >"E:\hhhh\A.txt"

(2)查看dll文件中函数命令:

dumpbin.exe /exports "D:\Qt\Qt5.13.0\5.13.0\msvc2017\bin\Qt5Core.dll" >"E:\hhhh\Adll.txt"

2、lib、dll、pdb的文件作用

(1)lib是编译时需要的,dll是运行时需要的。
如果要完成源代码的编译,有lib就够了。
如果也使动态连接的程序运行起来,有dll就够了。
在开发和调试阶段,当然最好都有。
(2)一般的动态库程序有lib文件和dll文件。lib文件是必须在编译期就连接到应用程序中的,而dll文件是运行期才会被调用的。如果有dll文件,那么对应的lib文件一般是一些索引信息,具体的实现在dll文件中。如果只有lib文件,那么这个lib文件是静态编译出来的,索引和实现都在其中。静态编译的lib文件有好处:给用户安装时就不需要再挂动态库了。但也有缺点,就是导致应用程序比较大,而且失去了动态库的灵活性,在版本升级时,同时要发布新的应用程序才行。
(3)在动态库的情况下,有两个文件,一个是引入库(.LIB)文件,一个是DLL文件,引入库文件包含被DLL导出的函数的名称和位置,DLL包含实际的函数和数据,应用程序使用LIB文件链接到所需要使用的DLL文件,库中的函数和数据并不复制到可执行文件中,因此在应用程序的可执行文件中,存放的不是被调用的函数代码,而是DLL中所要调用的函数的内存地址,这样当一个或多个应用程序运行是再把程序代码和被调用的函数代码链接起来,从而节省了内存资源。从上面的说明可以看出,DLL和.LIB文件必须随应用程序一起发行,否则应用程序将会产生错误。

(4)也可以只有lib文件,这样的话,库中的库中的函数和数据也都要写入lib文件中,同时也会在链接阶段合并到exe中,这样做的坏处是使exe很大,就是去了“库”的意义了,因此不建议这么做。

(5)PDB(Program Data Base),意即程序的基本数据,是VS编译链接时生成的文件。DPB文件主要存储了VS调试程序时所需要的基本信息,主要包括源文件名、变量名、函数名、FPO(帧指针)、对应的行号等等。因为存储的是调试信息,所以一般情况下PDB文件是在Debug模式下才会生成。

上述资料参考于LIB文件和DLL文件的作用 - J.M.Liu - 博客园

lib、和dll的生成方式见:VS2017创建静态库lib和使用静态库_我能想到的的博客-CSDN博客_vs 静态库

 3、LNK2001的静态库链接错误

原因大概有:

(1)对应的函数不存在。

(2)没有添加对应的lib库。

(3)使用的lib库版本不一样。

可以参考:常见LNK2001错误解决办法_weixin_30512785的博客-CSDN博客

其他常见错误可参考:

VS出现error LNK2005,error C4430,error C2011_夜雨听萧瑟的博客-CSDN博客_错误c2011

lib、dll文件的中函数的查看与lib、dll、pdb文件的介绍相关推荐

  1. 如何在 Windows XP 中设置、查看、更改或删除文件和文件夹的特殊权限

    为什么80%的码农都做不了架构师?>>>    文章编号: 308419 - 最后修改: 2005年10月24日 - 修订: 3.1 如何在 Windows XP 中设置.查看.更改 ...

  2. 2003服务器文件自动只读,您不能查看或更改只读或文件夹在 Windows Server 2003、 Windows XP、 Windows Vista 中或在 Windows 7 中的系统属性...

    有关 Microsoft Windows 2000 中,Microsoft Windows NT 4.0. Microsoft Windows 操作系统版本,Microsoft Windows 98 ...

  3. 安卓怎么显示res文件夹中的html_安卓手机如何打开.mhtml文件?

    01 由于MHTML是属于网页类的文件,所以首先得从浏览器入手,因为浏览器主要就是用来看网页的:打开手机浏览器:按下手机的菜单键或点击下方菜单栏中间的按键:找到"下载/文件"选项并 ...

  4. debian 文件夹中文件大小_debian 记录用到的命令 文件夹 目录等操作

    apt-get update && apt-get -f upgrade apt-get install php5-imagick extension=imagick.so apt-g ...

  5. javaweb上传文件_javaWeb中,如何通过CommonsFileUpload组件上传文件

    大家好,欢迎来到雄雄的小课堂,今天给大家分享的是<javaWeb中,如何通过Commons-FileUpload组件上传文件> 前言:文件上传大家都不陌生,在这个互联网飞速发展的时代,共享 ...

  6. 如何批量在文件夹中建立php,怎样快速实现批量建立文件夹 电脑一次性快速批量新建多个文件夹的方法...

    今天给大家带来怎样快速实现批量建立文件夹,电脑一次性快速批量新建多个文件夹的方法,让您轻松解决问题. 如何快速实现批量建立文件夹方法 电脑如何一次性快速批量新建多个文件夹.我们在使用电脑的时候,总是会 ...

  7. debian 文件夹中文件大小_linux查看目录(文件夹)内容大小

    习惯Terminal没有不知道ls命令的(等同于DOS的dir),经常只是需要查看目录的内容大小,但ls -h显示的只是目录的本身大小,而且很多项内容 ls 在这方面的两个诟病出现了: 小诟1. 显示 ...

  8. 从文件夹中批量抽取(复制or剪切)文件 批处理脚本

    @echo off color 2 cd /d "%~dp0" echo ***************************************************** ...

  9. pythonwith open 打开多个文件_Python中使用with语句同时打开多个文件

    下午小伙伴问了一个有趣的问题, 怎么用 Python 的 with 语句同时打开多个文件? 首先, Python 本身是支持同时在 with 中打开多个文件的 with open('a.txt', ' ...

  10. c语言中pair的头文件,C++中使用pair是否一定要包含头文件utility

    我们知道C++中pair模板包含在中,书上也说要使用pair应该加入头#include,嗯,这没有错.只是,我们是否可以不加入这个头?要知道在大点的程序中少加载些头文件是节省运行时间的主要途径之一.我 ...

最新文章

  1. image shadow
  2. 读张鸣-《辛亥:摇晃的中国》感
  3. C库宏-offsetof()
  4. Java7 ConcurrentHashMap源码浅析
  5. Java——递归练习
  6. 第二十三:Appium+Pytest实现app并发测试
  7. Vue生命周期和钩子函数的一些理解
  8. 报错处理——# Creating Server TCP listening socket *:6379: bind: Address already in use
  9. Ubunt 14.04 install Sogou input
  10. 客户端的云桌面平台配置与开启(附,登录“云电脑”与切换登录账号)
  11. Maxwell 一款简单易上手的实时抓取Mysql数据的软件
  12. 开放平台介绍以及目前国内主要的开放平台
  13. 智渔课堂官方免费教程二十六:Java基础教程之数组
  14. python lambda菜鸟_Python lambda介绍
  15. You called this URL via POST, but the URL doesn‘t end in a slash and you hav
  16. Power PMAC运动控制器 —— 学习笔记1
  17. 生信搬运工-01-fastq文件的处理
  18. 向苹果提交bug时的糟心经历
  19. usb驱动开发18——设备生命线
  20. 软件企业如何实施CMM?

热门文章

  1. [FJOI2014] 石子合并问题
  2. 学习前端的阶段性总结
  3. java jquery时间问候语,js实现实时问候,不同时间显示不同问候语
  4. ubuntu 最新提权漏洞_Ubuntu和Debian最新的KDE安全漏洞,附-修复指南
  5. 光电转换模块_针对100G QSFP28 SR4光模块的特征及工作原理进行分析
  6. CMU 15-213 Introduction to Computer Systems学习笔记(23) Thread-Level Parallelism
  7. 河南省学业水平测试计算机题目,2015级河南学业水平考试试题及答案
  8. IntelliJ IDEA下SVN的配置及使用说明
  9. php pathinfo 解析,php 解析pathinfo 类
  10. 【系列三之CentOS系列】CentOS命令操作(2)