欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

Python运行DLL文件的方法

程序员文章站 2022-06-20 14:30:21
什么是dll文件? dll文件为动态链接库(英语: dynamic-link library, 缩写为dll) 它是微软公司在微软视窗操作系统中实现共享函数库概念的一种实现...

什么是dll文件?

dll文件为动态链接库(英语: dynamic-link library, 缩写为dll)

它是微软公司在微软视窗操作系统中实现共享函数库概念的一种实现方式

先来阐述一下dll(dynamic linkable library)的概念,你可以简单的把dll看成一种仓库,它提供给你一些可以直接拿来用的变量、函数或类。在仓库的发展史上经历了“无库-静态链接库-动态链接库”的时代。静态链接库与动态链接库都是共享代码的方式,如果采用静态链接库,则无论你愿不愿意,lib中的指令都被直接包含在最终生成的exe文件中了。但是若使用dll,该dll不必被包含在最终exe文件中,exe文件执行时可以“动态”地引用和卸载这个与exe独立的dll文件。静态链接库和动态链接库的另外一个区别在于静态链接库中不能再包含其他的动态链接库或者静态库,而在动态链接库中还可以再包含其他的动态或静态链接库。

用python执行dll文件:

from ctypes import cdll
def run_dll(dll_path, execute_function):
  """
  执行dll文件内部指定的函数
  :param dll_path: dll文件的所在路径
  :param execute_function: dll文件内部要被执行的函数名
  :return:
  """
  dll_object = cdll.loadlibrary(dll_path) # 实例化dll对象
  eval('dll_object.{}()'.format(execute_function)) # 调用dll文件内的指定程序
if __name__ == '__main__':
  path = r'c:\users\evaliu\desktop\example.dll'
  run_dll(dll_path=path, execute_function='communication_test')

总结

以上所述是小编给大家介绍的python运行dll文件的方法,希望对大家有所帮助