导航:首页 > 编程语言 > python解析dll文件

python解析dll文件

发布时间:2022-12-20 02:51:43

‘壹’ python有没有办法能够编译成DLL文件

通用情况下,没有什么好办法能把python编译成dll,因为python是解释型语言,dll是编译后的二进制文件,2者不在一个次元。除非你把python的解释器也打包进你的工程,并在你的exe里调用。
但某些特殊情况下,也有把python的代码编译成dll文件的方法,在.net环境下,可以用IronPython这个工具,它可以把python代码编译成dll。

‘贰’ python 调用DLL的问题

那就是有内存泄露。内存没有释放。原因可能是多种。一种是你的DLL或者是AntiVC出了错。另外一种是ctypes出错。其中返回的内容没有释放内存。也许只有10个字节,但是长期积累还是很可观。

如果解决这个问题,就是稳定的程序,怎么用都不会坏。

还有一个保守的办法。如果你调用DLL的频率不是特别快。比如每秒不超过2000次。那么你可以将这个功能封装在一个服务进程里。线程再通过接口去访问。该 服务进程即使内存溢出崩溃了。也会自动重新启动。这样你的20个线程基本上只需要重试几次,等服务进程重新启动完成后,就可以获得结果。基本不影响使用。操作系统也很安全。因为进程退出后,所有的遗留错误都会清空。

‘叁’ python调用外部C#库的dll文件

importclr
importSystem

clr.AddReferenceToFile("SimpleHash.dll")
fromCommonimport*

classHashPy(SimpleHash):
def__init__(self):
pass

defHashCalc(self,arg1,arg2):
#strtobyte[]
arg1=System.Text.Encoding.Default.GetBytes(arg1)
arg2=System.Text.Encoding.Default.GetBytes(arg2)

returnSimpleHash.HashCalc(self,arg1,arg2)

audiobuff='
12345678
12345678
'
key='12345678'

printHashPy().HashCalc(audiobuff,key)

python ctype只能调用c/c++. 你要调用c#的dll 要用IronPython。如上面的例子

阅读全文

与python解析dll文件相关的资料

热点内容
农村信用社app怎么删除明细 浏览:817
学而思电脑怎么下载app 浏览:107
php防止mysql注入 浏览:233
磁力计校正算法 浏览:491
解压缩后变小了 浏览:957
智友文件夹 浏览:81
android操作系统开发的操作系统 浏览:478
原神手机怎么改b站服务器 浏览:296
桩基箍筋加密区高度规范 浏览:91
手机樱花动漫app怎么用 浏览:382
php科学计数法转换 浏览:642
sip认证算法 浏览:785
androidapp卡顿原因 浏览:905
25编程器电路 浏览:849
安卓九是什么东西 浏览:939
隐藏nodejs命令行窗口 浏览:62
人体与写生素描pdf 浏览:883
java集合性能 浏览:143
单片机三线通信 浏览:209
昆山ug编程培训学费 浏览:628