加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

批量替换 freeimage.nim中的函数名字

发布时间:2020-12-14 00:56:54 所属栏目:百科 来源:网络整理
导读:1. 先从freeimage.dll中复制出函数的名字,就是以文本的方式打开freeimage.dll,查找FreeImage_Initialise,然后附近的一大段函数都复制下来,得到 free.txt文件 _FreeImage_AcquireMemory@12_FreeImage_AdjustBrightness@12_FreeImage_AdjustColors@32_FreeImag

1. 先从freeimage.dll中复制出函数的名字,就是以文本的方式打开freeimage.dll,查找FreeImage_Initialise,然后附近的一大段函数都复制下来,得到 free.txt文件


_FreeImage_AcquireMemory@12
_FreeImage_AdjustBrightness@12
_FreeImage_AdjustColors@32
_FreeImage_AdjustContrast@12
_FreeImage_AdjustCurve@12
_FreeImage_AdjustGamma@12
_FreeImage_Allocate@24
_FreeImage_AllocateEx@36
_FreeImage_AllocateExT@40

已上只复制了一小部分

2. 上代码批量替换

主要用正则表达式:

import re

funcs={}

for line in open('free.txt','r'):
    line = line.strip()
    #print line
    real = line
    key = line.split('@')[0]
    if key[0]=='_':
        key=key[1:]
    funcs[key]=line

#print funcs

text =  open('freeimage.nim','r').read()
#for x in re.findall('importc: "([w_d]+)",',text):
#    print x
def dashrepl(matchobj):
    #print matchobj.group(1),type(matchobj.group(1))
    k= matchobj.group(1)
    return 'importc: "%s"' % funcs.get(k,k)

print re.sub('importc: "([w_d]+)"',dashrepl,text)
最后print 得到的就是最终结果了

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读