13得票3回答
使用python-ctypes将Fortran与Python进行接口交互

经历: Fortran 约 3 个月 Python - 中级:在此之前从未使用过 Python 的 ctypes 模块 我正在寻找一种将 Fortran 代码用于我的博士工作,并随后使用 matplotlib 进行实时可视化的方法。 这篇文章 帮了忙(它说可以使用 ctypes 模块在 P...

10得票1回答
如何在Rust和Python之间传递指针?

我正在尝试使用Rust编写一个库,以便可以从Python代码中调用它。我希望能够将一个空指针传回Python,以便可以在Rust的不同调用之间保持状态。但是,当我尝试再次访问该指针时,在Rust中会发生段错误。 完整的代码示例和崩溃报告:https://gist.github.com/rob...

56得票8回答
如何在Python中防止C共享库向stdout打印输出?

我使用一个导入C共享库的python库,该库会在stdout上打印信息。我希望获得整洁的输出以便将其通过管道使用或重定向到文件中。这些打印操作是在共享库之外完成的。 一开始,我的处理方式是: # file: test.py import os from ctypes import * fr...

13得票2回答
使用ctypes获取`time_t`的类型/大小

我正在使用Python的ctypes模块访问一个包含一些time_t字段的C结构。 由于其不完全可移植的性质,我不能静态地将这些字段定义为c_int或c_long类型。 我应该如何定义它们以使我的代码可移植? 示例C结构定义:#import <sys/types.h> #im...

16得票2回答
静态库的ctypes

我正在尝试为poker-eval编写一个Python包装器,它是一个C静态库。我能找到的所有关于ctypes的文档都表明它适用于共享/动态库。是否有适用于静态库的'ctypes'呢? 我知道Cython,但是我应该使用它还是重新编译poker-eval为动态库,以便我可以使用ctypes呢?

11得票4回答
Python - 如何获取进程的起始/基地址?

如何获取进程的起始/基地址?例如Solitaire.exe (solitaire.exe+BAFA8)#-*- coding: utf-8 -*- import ctypes, win32ui, win32process PROCESS_ALL_ACCESS = 0x1F0FFF HWND...

7得票4回答
Ctypes的优缺点

我听说在Python和Windows中,Ctypes可能会导致崩溃(或停止错误)。我应该避免使用它们吗?我从哪里听到的?当时我尝试控制Windows的各个方面、自动化等。 我听说过swig,但我更经常看到Ctypes。这里有什么危险吗?如果有,我应该注意什么? 我搜索了ctype pro ...

8得票2回答
使用Python Ctypes加载dll

我看了这里给出的例子ctypes - 初学者,并按照相同步骤使用不同的C代码。 我使用此处给出的C代码构建了一个.dll和.lib文件:http://wolfprojects.altervista.org/articles/dll-in-c-for-python/ //test.c __...

31得票4回答
Python ctypes:从相对路径加载DLL

我有一个Python模块wrapper.py,它包装了一个C DLL。该DLL与模块在同一个文件夹中。因此,我使用以下代码来加载它:myDll = ctypes.CDLL("MyCDLL.dll") 如果我在自己的文件夹中执行wrapper.py,它可以正常工作。 但是,如果我从其他地方运行它...

8得票5回答
Python ctypes和函数调用

我的朋友制作了一个在x86上运行的小型概念证明汇编器。我决定将其移植到x86_64上,但我立即遇到了一个问题。 我用C语言写了一个小程序,然后编译并objdump了代码。之后我将其插入到我的Python脚本中,因此x86_64代码是正确的: from ctypes import cast,...