- mongodb - 在 MongoDB mapreduce 中,如何展平值对象?
- javascript - 对象传播与 Object.assign
- html - 输入类型 ="submit"Vs 按钮标签它们可以互换吗?
- sql - 使用 MongoDB 而不是 MS SQL Server 的优缺点
例如,如果能够做到这一点,那就太好了:
from ctypes import CDLL
mylib = CDLL('/my/path/mylib.so',header='/some/path/mylib.h')
而不是
from ctypes import *
mylib = CDLL('/my/path/mylib.so')
mylib.f.restype = c_double
mylib.f.argtypes = [c_double, c_double]
mylib.g.restype = c_int
mylib.g.argtypes = [c_double, c_int]
我在 python 方面的经验表明,要么已经完成了与此非常接近的事情,而我只是无法找到它,要么有充分的理由不这样做。这两种情况都有吗?
最佳答案
我问自己同样的问题,在我走得太远之前,我遇到了 ctypesgen:
http://code.google.com/p/ctypesgen/
它会为您处理所有这些,尽管您需要预先学习。我们使用 ctypesgen 为 Subversion 绑定(bind)生成一个版本的 Python 绑定(bind)。效果很好。
关于python - 为什么 Python 的 ctypes.CDLL 不能从 C 头文件自动生成 restype 和 argtypes 有什么原因吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5033162/
我有一个由两个 dll 文件和一个 python 包装器组成的库。 我目前有基于这三个文件的代码,它们与我的主 python 文件位于同一父目录中。我现在正试图在继续开发之前重构一些东西,并希望将所述
我正在研究连接触觉机器人和眼动仪。因此,两者都有自己的编程要求,即眼动仪软件基于 Python,并且是我编程的主要语言。我们的触觉机器人有一个 C 语言的 API,所以我不得不用 C 语言编写一个包装
来自https://docs.python.org/3/library/ctypes.html#loading-shared-libraries Shared libraries can also b
我正在尝试使用编译为 /usr/local/lib/libName.so 的库,但在运行需要此文件的 python 脚本时: from ctypes import CDLL [...] __lib =
在 Lubuntu 18.04 上 $ python3 >>> from ctypes import * >>> libc = CDLL("libc.so.6") >>> libc.printf 我
根据文档, On Linux, it is required to specify the filename including the extension to load a library, so
恐怕我在互联网上找不到一个简单的答案,所以也许将来会有一个因为这个问题! 我正在使用 pywiiuse,它是 Windows 上 C wiiuse 库的 python 包装器。通过在源目录中包含 dl
我有一个用于与 C 库交互的 Python 2.7 GUI。我在 GUI 中进行了一系列设置,然后按下“开始”按钮。然后,我正在查看结果,不再需要库代码。但我想在更改库时保留所有 GUI 状态。 我用
我正在尝试使用 ctypes 通过 Python 移植一些 C dll(FANUC FOCAS Library - for CNC)代码,所以我编写了移植代码。 (如下),但是在加载DLL和调用函数时
我有以下代码 import ctypes lib1 = ctypes.cdll.LoadLibrary("./mylib.so") # modify mylib.so (code generation
我正在尝试使用 ctypes 并两次加载相同的编译 Fortran 库,这样我就有了它的两个独立实例,这样库包含的任何模块变量都不会存储在相同的内存位置。描述的一般解决方案(例如,此处:https:/
ctypes.cdll.LoadLibrary() 调用如何与作为参数传入的 None 一起工作?当我尝试下面的代码时,math 库似乎会自动加载: >>> import ctypes >>> lib
我是 Python 的初学者。我使用的python版本是3.2.1.1我正在尝试按照 docs.python.org 中的教程学习 ctypes 在交互式提示中, import ctypes libc
问候, 我正在尝试修改 zlib 和测试行为,所以我编写了 mylib.c 和 mylib.h。这形成了一个用于在内部调用 zlib 函数的包装器(如 InflateInit2())。我正在使用以下命
我必须遵循以下目录结构: MainProject | ...project files | rtlsdr\ | | rtlsdr.dll
我用c写了一个dll库,用vs2017 64位编译,用python3.6 64位加载试试。但是,对象的成员变量地址被截断为 32 位。 这是我的 sim.c 文件,它被编译为 sim.dll: cla
我正在尝试让一些开源学术代码正常工作(项目主页是 here )。它是一个带有(非常)薄的 python 包装器的大型 C++ 代码库,它使用 CDLL 加载 C++ 并调用一些可用于允许代码的原始 p
因此,作为一名 Linux 用户,我在 Windows 上遇到了一些我无法解释的非常令人费解的事情。 我有一个类似于此示例的项目结构: D:\PROJECT | | tolkien.py |
我是Python初学者。当我尝试加载外部 DLL(由其他人在 Windows 中编译)时,如下所示: from ctypes import * import cv2, cv as cv Painter
我刚刚开始在 Linux 上使用 gcc。我正在学习教程 here , 除了我使用的是 g++ 编译器。 你好_fn.cpp #include #include "hello.h" void hel
我是一名优秀的程序员,十分优秀!