一般来说,没有好的方法将python编译成dll,因为python是一种解释性语言,而dll是一个编译过的二进制文件,它不在同一个维度中。除非将python解释器打包到项目中并在exe中调用它。但在某些特殊情况下,有一种方法可以将python代码编译成dll文件。在。net环境下,可以使用ironpython将python代码编译成dll。
1.有两个。无法打包问题,几乎可以肯定不是因为py源代码模块没有键入,而是因为它的c扩展名或绑定dll没有键入。目前,还没有一种东西能够提供与cpython相同的c扩展接口,并自动处理这些dll依赖关系。换句话说,你可以用pyinstaller打包的东西也可以用其他东西打包/编译;否则,它不是很好,在很多情况下是不可行的。因此,正确的姿态是仔细查看各种打包工具的文档,当打包中存在依赖项时,将这些依赖项写入打包配置文件。当然,更方便的方法是带上站点的dll和解释器,然后用c/c编写一个shell,比如sublime。
一般来说,没有好的方法将python编译成dll,因为python是一种解释性语言,而dll是一个已编译的二进制文件,它不在同一维度中。除非将python解释器打包到项目中并在exe中调用它。但在某些特殊情况下,有一种方法可以将python代码编译成dll文件。在。net环境下,可以使用ironpython将python代码编译成dll。
c语言实际上是一种“老”和“底层”语言。其执行效率仅次于汇编语言。
它之所以古老是因为c语言出现得很早。
尽管fortran和cobol比c语言出现得早,但现代主流操作系统(windows、macos、linux、ios、android、unix)都是从c语言中诞生的。
最根本的原因是c语言被设计用来同时编写汇编语言。从理论上讲,它可以用外汇来表示。汇编语言是最有效的语言。
所以python是用c语言编写的也就不足为奇了。它与能否生成exe无关。
exe文件是windows平台的专用格式。最简单的exe是com可执行文件。exe文件实际上由引导加载程序和解释器组成。
由python语言生成的代码只能通过引导加载程序和解释器作为exe文件执行。
因此python生成exe文件并不困难。只是它是否愿意提供的问题。
这并不难。它主要使用python的ctypes模块。接下来,我将简要介绍一下实现过程。实验环境是win10python3.6pycharm5.0,主要内容如下:
1。在这里为了方便解释问题,我编译了一个简单的dll库,源代码如下,非常简单,一个带参数的mul函数:
编译成功后,将在当前发行目录下生成一个dlldlltest.dll接下来,我们创建一个新的py文件,它的主要代码如下,非常简单简单:
程序运行截图如下,已成功调用add函数,并返回执行结果:
3。在这里我们还可以使用windll来加载dll库,基本步骤都是一样的,只需直接调用,如下所示:
程序运行截图如下:
到目前为止,我们已经完成了使用python调用dll库。一般来说,整个过程很简单,代码量不多,很容易理解,cdll和windl这两种方式都可以很快完成,只要你熟悉相关的代码和例子,练习几次,你很快就能掌握,网上还有相关的教程和资料,如果您感兴趣,可以搜索,希望以上分享的内容能对您有所帮助,也欢迎大家发表评论和留言。