利用python实现dll依赖关系导出

#说明:遍历rootdir目录下所有dll,导出每个dll依赖的dll信息到dstdir目录下
#     配合NotePad++打开所有txt,搜索,可快速定位到某dll被依赖的所有dll文件

import os

rootdir = 'C:/Users/xx/Desktop/release'   #目录不能有空格,左斜杠,路径必须存在
dstdir = 'C:/Users/xx/Desktop/release/import/'  #目录不能有空格,左斜杠,路径必须存在

def dll_import(path, name):
    cmd1 = 'cd D:\Program Files (x86)\Microsoft Visual Studio 9.0\VC'  #注意VS的路径
    cmd2 = 'vcvarsall.bat'
    cmd3 = 'dumpbin -imports ' + path + " > " + dstdir + name + ".txt"
    cmd = r'"' + cmd1 + ' && ' + cmd2 + ' && ' + cmd3 + r'"'
    os.system(cmd)

def dll_dependency(dir):
    list = os.listdir(dir)
    for i in range(0, len(list)):
        path = os.path.join(dir, list[i])
        if os.path.isfile(path):
            if path.find(".dll") != -1:
                (filepath, tempfilename) = os.path.split(path);
                (shotname, extension) = os.path.splitext(tempfilename);
                dll_import(path, shotname)

dll_dependency(rootdir)

  环境:Python 3.5.0    VS 2008

转载于:https://www.cnblogs.com/cyh706510441/p/8547657.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值