精华内容
下载资源
问答
  • windows下使用dumpbin查看Qt程序运行时需要链接的动态库打开终端打开Qt自带的MSVC终端 如:Qt 5.10.0 64-bit forDesktop(MSVC 2017) 查看dumpbin命令dumpbin微软官网说明 ...

    windows下使用dumpbin查看Qt程序运行时需要链接的动态库

    打开终端

    打开Qt自带的MSVC终端
    如:Qt 5.10.0 64-bit forDesktop(MSVC 2017)
    这里写图片描述

    查看dumpbin命令

    dumpbin微软官网说明
    https://docs.microsoft.com/zh-cn/cpp/build/reference/dumpbin-options

    直接输入命令dumpbin(不带参数)

    D:\qt\5.10.0/msvc2017_64>dumpbin
    Microsoft (R) COFF/PE Dumper Version 14.13.26131.1
    Copyright (C) Microsoft Corporation.  All rights reserved.
    
    用法: DUMPBIN [选项] [文件]
    
      选项:
    
       /ALL
       /ARCHIVEMEMBERS
       /CLRHEADER
       /DEPENDENTS
       /DIRECTIVES
       /DISASM[:{BYTES|NOBYTES}]
       /ERRORREPORT:{NONE|PROMPT|QUEUE|SEND}
       /EXPORTS
       /FPO
       /HEADERS
       /IMPORTS[:文件名]
          /LINENUMBERS
       /LINKERMEMBER[:{1|2}]
       /LOADCONFIG
       /NOLOGO
          /OUT:filename
       /PDATA
       /PDBPATH[:VERBOSE]
       /RANGE:vaMin[,vaMax]
       /RAWDATA[:{NONE|1|2|4|8}[,#]]
       /RELOCATIONS
       /SECTION:名称
       /SUMMARY
       /SYMBOLS
       /TLS
       /UNWINDINFO
    

    这里写图片描述

    查看程序依赖库

    dumpbin /dependents xxx.exe > dependents.txt

    imports.txt内容如下

    Microsoft (R) COFF/PE Dumper Version 14.13.26131.1
    Copyright (C) Microsoft Corporation.  All rights reserved.
    
    
    Dump of file FaceRecDlg.exe
    
    File Type: EXECUTABLE IMAGE
    
      Image has the following dependencies:
    
    libopencv_core249.dll
    libopencv_highgui249.dll
    libopencv_imgproc249.dll
    libopencv_objdetect249.dll
    Qt5Cored.dll
    Qt5Guid.dll
    Qt5Widgetsd.dll
    libgcc_s_dw2-1.dll
    KERNEL32.dll
    msvcrt.dll
    SHELL32.dll
    libstdc++-6.dll
    
      Summary
    
        1000 .CRT
        1000 .bss
        1000 .data
        6000 .debug_abbrev
        1000 .debug_aranges
        1000 .debug_frame
      205000 .debug_info
        5000 .debug_line
        1000 .debug_loc
        1000 .debug_ranges
        9000 .debug_str
        3000 .eh_frame
        3000 .idata
       2D000 .rdata
        6000 .text
        1000 .tls
    
    展开全文
  • D:\dll.txt在D:\dll.txt文件中查看相关dll情况,同时在另一台正常运行的电脑上查看dll做对比。原则上可以找到不正常或者多调用的dll,但是两个电脑上的dll种类相差过大,不能正常的判断。win10上调用的dll非常多,...

    最近在检查exe文件时,遇到关闭文件时出现X00000008错误情况,现通过CMD进入Windows的dos界面,输入tasklist /m >D:\dll.txt

    在D:\dll.txt文件中查看相关dll情况,同时在另一台正常运行的电脑上查看dll做对比。

    原则上可以找到不正常或者多调用的dll,但是两个电脑上的dll种类相差过大,不能正常的判断。

    win10上调用的dll非常多,如下:

    31080 ntdll.dll, KERNEL32.DLL, KERNELBASE.dll,   
                                       USER32.dll, win32u.dll, GDI32.dll,         
                                       gdi32full.dll, msvcp_win.dll, ucrtbase.dll,
                                       OLEAUT32.dll, combase.dll, RPCRT4.dll,     
                                       bcryptPrimitives.dll, ADVAPI32.dll,        
                                       msvcrt.dll, sechost.dll, TKIGES.dll,       
                                       TKXSBase.dll, TKBRep.dll, TKPrim.dll,      
                                       TKService.dll, TKMath.dll, mfcsample.dll,  
                                       mfc100ud.dll, SHLWAPI.dll, TKTopAlgo.dll,  
                                       MSVCR100D.dll, TKV3d.dll, TKernel.dll,     
                                       MSVCP100D.dll, PSAPI.DLL, TKShHealing.dll, 
                                       TKG3d.dll, TKGeomBase.dll, MSVCP100.dll,   
                                       MSVCR100.dll, TKG2d.dll, freetype.dll,     
                                       FreeImage.dll, WS2_32.dll, TKBool.dll,     
                                       avcodec-57.dll, avformat-57.dll,           
                                       avutil-55.dll, TKGeomAlgo.dll,             
                                       swscale-4.dll, TKSTL.dll, TKVRML.dll,      
                                       TKHLR.dll, TKSTEP.dll, COMCTL32.dll,       
                                       MSIMG32.dll, TKMesh.dll, tbb.dll,          
                                       TKOpenGl.dll, WSOCK32.dll, tbbmalloc.dll,  
                                       Secur32.dll, swresample-2.dll, TKBO.dll,   
                                       TKSTEPAttr.dll, TKSTEP209.dll,             
                                       OPENGL32.dll, GLU32.dll, SSPICLI.DLL,      
                                       TKSTEPBase.dll, IMM32.DLL, UxTheme.dll,    
                                       dwmapi.dll, MFC100CHS.DLL, MSCTF.dll,      
                                       RICHED32.DLL, RICHED20.dll, USP10.dll,     
                                       msls31.dll, shell32.dll, cfgmgr32.dll,     
                                       shcore.dll, windows.storage.dll,           
                                       kernel.appcore.dll, profapi.dll,           
                                       powrprof.dll, FLTLIB.DLL, comctl32.DLL,    
                                       TextInputFramework.dll,                    
                                       CoreUIComponents.dll, CoreMessaging.dll,   
                                       ntmarta.dll, wintypes.dll, nvoglv64.DLL,   
                                       SETUPAPI.dll, ole32.dll, WTSAPI32.dll,     
                                       VERSION.dll, DEVOBJ.dll, WINTRUST.dll,     
                                       MSASN1.dll, CRYPT32.dll, nvspcap64.dll,    
                                       WINSTA.dll, clbcatq.dll, sogoutsf.ime,     
                                       SogouPy.ime, OLEACC.dll, WINHTTP.dll,      
                                       Resource.dll, PicFace64.dll, COMDLG32.dll, 
                                       propsys.dll, tiptsf.dll, edputil.dll,      
                                       explorerframe.dll, DUI70.dll, DUser.dll,   
                                       WindowsCodecs.dll, thumbcache.dll,         
                                       policymanager.dll, msvcp110_win.dll,       
                                       dataexchange.dll, dcomp.dll, d3d11.dll,    
                                       dxgi.dll, twinapi.appcore.dll,             
                                       RMCLIENT.dll, Windows.Globalization.dll,   
                                       bcp47mrm.dll, Bcp47Langs.dll,              
                                       globinputhost.dll, StructuredQuery.dll,    
                                       atlthunk.dll,                              
                                       Windows.StateRepositoryPS.dll,             
                                       Windows.Storage.Search.dll, CLDAPI.dll,    
                                       IconCodecService.dll,                      
                                       OneCoreUAPCommonProxyStub.dll, apphelp.dll,
                                       coml2.dll, qingnse64.dll, urlmon.dll,      
                                       iertutil.dll, gdiplus.dll, WININET.dll,    
                                       CRYPTBASE.DLL, twinapi.dll, LINKINFO.dll,  
                                       WINMM.dll, winmmbase.dll, ActXPrxy.dll,    
                                       FileSyncShell64.dll, ktmw32.dll,           
                                       GROOVEEX.DLL, VCRUNTIME140.dll,            
                                       MSVCP140.dll, msi.dll, bcrypt.dll,         
                                       NetworkExplorer.dll,                       
                                       GrooveIntlResource.dll, EhStorShell.dll,   
                                       cscui.dll, MPR.dll, drprov.dll,            
                                       ntlanman.dll, davclnt.dll, DAVHLPR.dll,    
                                       wkscli.dll, cscapi.dll, netutils.dll       

    正常的电脑(win7)调用dll如下:(共4个dll,)


    目前还没有找到原因在哪里

    展开全文
  • 将其中加载windows系统自带dll等文件拷到运行exe同目录下; 关掉程序,重新运行,就会发现资源监视器中加载windows自带资源路径都与exe文件所在目录一致(观察方便); 再执行程序所有功能,刷新资源...

    运行程序,不点击运行任何功能;

    启动任务管理器->性能->资源监视器;

    在资源监视器中勾选需要查看的程序,查看从磁盘读取的文件

    将其中加载的非windows系统自带的dll等文件拷到运行exe同目录下;

    关掉程序,重新运行,就会发现资源监视器中加载的非windows自带资源的路径都与exe文件所在目录一致(观察方便);

    再执行程序所有功能,刷新资源监视器(重新勾选),则会很容易发现文件目录下有路径特别的非windows自带dll等资源,这些后续加载的文件动态库等即是程序运行时动态加载的;

    将动态加载的动态库等资源拷贝到exe同目录下,则此时exe连同所有拷贝的dll等文件,可以放在其他为配置开发环境的电脑上运行;

    (有些加载的dll即使拷贝到exe同目录下,运行时仍会优先从原始目录加载,此时仍需拷贝到exe所在目录)

     

    转载于:https://www.cnblogs.com/ningmouming/p/9094510.html

    展开全文
  • Dll创建 方法一: 1. 新建Dll,添加DllTest.cpp,...2.Dumpbin查看Dll中导出函数: Dumpbin Exports DllTest.dll 运行VCVARS32.bat建立VC++使用环境信息(./VS/VC98/bin/VCVARS32.bat) 3.在函数前添加 _declspec

    Dll的创建

    方法一:

    1. 新建Dll,添加DllTest.cpp,写函数,build->生成Dll文件(此时并没有真正地将函数导出)

    2.Dumpbin查看Dll中导出的函数:

    Dumpbin Exports DllTest.dll

    运行VCVARS32.bat建立VC++使用环境的信息(./VS/VC98/bin/VCVARS32.bat)

    3.在函数前添加 _declspec(dllexport) 导出函数,再次查看,可以看到Dll中已经导出了相应的函数。

     

    方法二:

    使用def模块定义文件导出函数:

    新建DllTest.def并添加代码:(文件名必须与项目名一致)

    LIBRARY DllTest(这是自动生成的)

    EXPORTS(导出)

    add = add(导出的函数名)

    delete = delete(导出的函数名)

    ..........

     

    使用:

    1.建立基于对话框的MFC函数DllDemo,包含头文件并调用其中的函数,以测试DllTest

    出现以下问题:

    1)链接出错:缺少lib文件。解决方案:首先,复制DllTest.lib至DllDemo.h等源码所在目录;然后,打开project,settings,object,library Modules,输入DllTest.lib

    2) 运行exe出错:缺少dll文件。解决:复制DllTest.dll至exe所在目录。

    3) 编译出现无法解析的函数情况:

    1. 有声明而无实现(包含了h文件未包含lib文件或者都包含了但是dll中的函数并没有进行实现)

    2. 有声明也有实现,但是实现与声明不太一致,注意检查他们的参数类型,有没有加&或const等,稍微有点不一样实际上就相当于函数没有实现(实际上本质还是问题1)

    3.h文件,lib文件,dll文件版本不一致,会出现编译错误或无法进入源代码进行调试,实际上还是问题1

     

    其他知识点:

    1. VS自带的Depends可以查看当前程序所依赖的库

    2.从Dll中导出类:类声明前+_declspec(dllexport);

     从dll中导出函数,函数声明前 +_declspec(dllexport);

    如果没有导出类,但是包含了.h,则可以用类来构造对象

    3.加extern “C” 于导出函数的定义前,可以防止名字被改编。(但不能用于导出一个类的函数成员,只可导出全局函数)

     

     

    展开全文
  • 库有两种:静态库(.a(linux)、.lib(windows))和动态库(.so(linux)、.dll(windows))。 所谓静态、动态是指链接,可以看下编译链接过程: 库与可执行文件区别: 库文件无法直接执行,从生产库源码中可以查看...
  • Windows动态链接编程笔记

    千次阅读 2013-08-12 21:34:18
    DLL的文件映像被映射到调用进程的地址空间中,DLL的函数供进程中运行的所有线程使用.这时,DLL几乎将失去它作为DLL的全部特征.对于进程中的线程来说,DLL的代码和数据看上去就像恰巧是在进程的地址空间中的额外代码和...
  • 库有两种:静态库(.a(linux)、.lib(windows))和动态库(.so(linux)、.dll(windows))。 所谓静态、动态是指链接,可以看下编译链接过程: 库与可执行文件区别: 库文件无法直接执行,从生产库源码中可以...
  • 有时候换电脑之后,本来运行没有问题程序报错:找不到依赖,是因为电脑内缺少某些dll,可以用如下方法解决: 1、利用软件depends查看报错xxx.dll,缺少哪些依赖。打开软件file->Open打开xxx.dll,提示...
  • 2、vista自带的Windows相片不能查看动态gif图片缺陷(公认) 3、本程序也是利用XP上图片查看器,在vista上用兼容模式运行,所以默认查看gif时和XP上是一个效果。 4、安装后会自动关联gif 5、本程序只能运行...
  • 2、win7自带的Windows相片不能查看动态gif图片缺陷(公认) 3、本程序也是利用XP上图片查看器,在vista上用兼容模式运行,所以默认查看gif时和XP上是一个效果。 4、安装后会自动关联gif 5、本程序只能运行...
  • windows 查看DLL导出函数方法

    万次阅读 2017-05-09 21:57:00
    在window下查看动态库的导出函数可以用vs自带Dependenc工具; 对于VC6.0,VC所带Depends软件,在VC6安装目录下tools文件夹里面,可以直接运行。   VS2010中没有了Depends工具,如何查看DLL文件导出接口...
  • windows 下动态库的动态库简写为DLL(Dynamic Linkable Library),是一种可执行文件,但是它又不同于EXE文件, DLL不能独立运行,而是等待被调用。 DLL编译后不能查看源代码,这起到了保护软件作者版权的作用。 ...
  • windows 依赖查看

    2013-07-17 10:09:00
    使用工具Download Process Explorer查看运行程序所依赖的动态库。 中文说明:适用于 Windows 的 Process Explorer 10.21 版 转载于:https://www.cnblogs.com/rogerer/p/3195180.html...
  • 动态链接运算器

    2012-12-10 21:48:54
    在应用程序中用 LoadLibrary或MFC提供的AfxLoadLibrary显式的将自己所做的动态链接调进来,动态链接的文件名即是上述两个函数的参数,此后再用GetProcAddress()获取想要引入的函数。自此,你就可以象使用如同在...
  • 方法1:用VBS创建新对象或调用API的库进行调用WINDOWS函数 方法2:用VB6Add-in插件方法,动态创建一个工程,创建一个对象变量,运行 方法3:createobject("excel.application")方法创建一个新Excel vba模块,...
  • 在 VS2017 中创建和使用动态链接 DLL 一在 VS2017 中创建 DLL 动态链接 1运行 VS2017 选择新建->项目->Visual C++ ->Windows 桌面->动态链接(DLL)选择保存项 目位置输入项目名称也是动态链接库的名称确定 2给...
  • 其实这个windows图片和传真查看器不是以程序方式存在,而是动态链接库的形式存在于explorer.exe程序中。名称是C:\windows\system32\shimgvw.dll。 shimgvw.dll做为一个线程插入到EXPLORER.EXE主程序中。 动态链接...
  • PAGE PAGE 5 如何更改Windows10系统DLL文件图标 对于Windows系统DLL动态链接文件相信很多朋友并不陌生在...方法/步骤 1 查看Windows10系统System32目录下DLL动态链接库的默认图标 2 按Win+R快捷键打开运行对话
  • windows图片和传真查看器是以动态链接库的形式存在于explorer.exe程序中。 名称是C:/windows/system32/shimgvw.dll。 shimgvw.dll做为一个线程插入到EXPLORER.EXE主程序中。 动态链接(DLL)好处...
  • WINDOWS 图片和传真查看

    热门讨论 2010-10-14 13:48:42
    动态链接(DLL)好处之一就是减少系统资源产用,不必为它再创建一个单独程序,而是插入其他程序以运行一些功能。 解决办法: 开始----运行---输入regsvr32 shimgvw.dll 确定; 如果没有此文件,可以到别电脑...
  • 在开发过程中,可能需要使用第三方,而这些的源码可能是C写的,这时候会在java这边定义成native文件,程序运行的时候,链接到指定的dll文件。 dll文件生效 windows windows环境下,会默认去 java.library.path下...
  • 是因为Windows图片和传真查看器不是以程序方式存在,而是动态链接库的形式存在于explorer.exe程序中,名称是C:\windows\system32\shimgvw.dll,shimgvw.dll做为一个线程插入到EXPLORER.EXE主程序中. 解决方法:1、...
  • Win32动态连接基址重置技术

    千次阅读 2001-05-18 21:30:00
    仔细查看已经加载进应用程序地址空间中的动态链接列表,判断动态链接是否已经加载了。 为动态链接分配驻留内存,并将动态链接二进制文件映射到内存中(在Windows NT中,映射跨越了段对象)。 为使动态链接...
  • 它还可以产生独立的动态或静态,这些可以由以其他编程语言编写的应用程序使用。 要了解有关CoreRT的更多信息,请参阅。 试试我们的样品 如果您想尝试CoreRT,我们会将CoreRT的每日快照发布到NuGet提要。 使用...
  • 这个不是以程序方式存在,而是动态链接库的形式存在于explorer.exe...动态链接(DLL)好处之一就是减少系统资源产用,不必为它再创建一个单独程序,而是插入其他程序以运行一些功能。解决办法:开始----运行-...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 479
精华内容 191
关键字:

windows查看运行的动态库