python-c-api 相关问题

想要编写扩展模块或嵌入Python的C和C ++程序员使用的API。

如何从C扩展名返回Python枚举?

我正在为Python编写一个C扩展,其中包含一个C库。 C库中有一些枚举类型,例如,我已经为它们编写了相应的IntEnums:从枚举import IntEnum#_enum_consts ...

回答 1 投票 2

使用Python C-API获取值堆栈的当前大小

我正在使用Python的C-API。具体来说,我想看看是否可以检查值堆栈当前有多少个元素。这是我的代码:#include #include ...

回答 1 投票 1

用C扩展python:尝试交换列表元素

我要为Python 3.7构建一个C模块,该模块交换两个列表元素。这是我的代码,其中读取了两个元素和列表的索引:静态PyObject * st_change(PyObject * self,PyObject * args){...

回答 1 投票 0

从同一个C扩展模块中调用不同方法的正确方法?

我正在将纯Python模块转换为C扩展名,以熟悉C API。 Python实现如下:_CRC_TABLE_ = [0] * 256 def initialize_crc_table():if ...

回答 1 投票 0

将可迭代对象转换为python C api中的元组

我有一个可迭代的PyObject,我需要将其作为参数传递给可调用的Python列表,ala xs = [1,2,5,7] some_function(* x)但是,PyObject_CallObject仅允许将元组作为传递。 ..

回答 1 投票 0

[尝试使用gcc构建pybind11项目时获取未定义的引用

我正在尝试使用Makefile在GCC中使用GCC在Linux(我的情况下为Ubuntu 18.04)中构建C ++静态库。我注意到问题不在于makefile本身,而是我尝试编译和构建的方式...

回答 1 投票 0

解析参数时,Python C API / ctypes函数存在段错误

我编写了一种c ++方法,该方法枚举给定邻接矩阵中指定大小的子图的数量。我正在尝试使此方法在python中可调用。基本方法签名采用...

回答 1 投票 0

[在Python中,为什么用C实现的模块比纯Python模块要快,我该怎么写?

python文档指出,cPickle比Pickle更快的原因是,前者是用C实现的。这到底是什么意思?我在...

回答 4 投票 10

如何在Python中使用C API获得对象ID?

我想知道-是否有使用CPython的C API获取对象ID的规范方法?

回答 1 投票 0

衍生自具有C API和object'tp_basicsize`的任意Python类?

[我正在尝试定义一个函数,该函数将使用C API创建Python类,该函数派生自任意Python类型基础,并且在其原始C类对象布局中具有一个额外的字段void * my_ptr。我...

回答 2 投票 1

未使用C API完全初始化Python对象

在以下情况下,该对象不是要在Python中实例化的(因此没有tp_new或tp_init)。使用PyObject_CallObject作为函数调用ThingType会在...

回答 1 投票 1

在python c扩展中使用opencv的问题?

我正在尝试编写一个简单的python c-extension,其中包含一些opencv代码。这是我的c ++代码:#include“ Python.h” #include“ numpy / arrayobject.h” #include #...

回答 1 投票 0

PyDict_SetItem是否增加了键的引用计数,如果是,则在代码中的哪个位置进行?

TLDR:PyDict_SetItem递增键和值,但是这在代码中的什么地方发生? PyDict_SetItem调用insertdict。 insertdict立即对两个键都执行Py_INCREF ...

回答 1 投票 1

PyImport_Import在python模块中导入子模块时失败

我有这样的cpp代码:void callPython(){Py_Initialize(); PyObject * sysPath = PySys_GetObject(“ path”); PyList_Append(sysPath,PyUnicode_FromString(“ / jarvis_repo / src / cpp / ...

回答 1 投票 0

GCOV版本不匹配-预期700e得到408R

在一台具有GCC 4.4.7 / GCOV 4.4.7的服务器上,我能够成功运行测试。但是,在具有GCC 4.8.5 / GCOV 4.8.5的其他服务器上,运行测试会导致以下错误:分析:/ path / to / ...

回答 1 投票 0

PyRun_String返回一个NoneType对象

我正在用c ++编写base64函数。我想使用python进行编码并将结果返回到我的c ++程序。这是我的代码:string EncodeBase64(string str){Py_Initialize(); ...

回答 1 投票 0

如何检查Python中的对象是否为PyCapsule?

我有一个C扩展,可以接收和接受PyCapsule对象。在我的python包装器中,如何检查python对象是否为PyCapsule类型的对象? >>>#我的C扩展>>> ...

回答 2 投票 1

将字节串从Python传递到C

我正在用C语言编写python扩展名,并试图将字节对象传递给我的函数。显然,“ s”标记用于字符串;我尝试过'O','N'和其他一些运气不好的人。是否有...

回答 1 投票 1

在调用PyArg_ParseTupleAndKeywords时如何仅解析'kwargs'并跳过args?

我正在调用一个函数,该函数需要一个位置参数列表,后跟关键字参数。我想分别处理args和kwargs。不幸的是,与PyArg_ParseTuple不同的是...

回答 2 投票 3

如何通过pyproject.toml调用python setup.py构建?

要构建python项目,我需要先使用python setup.py build来构建C扩展。诗能够根据这个githug问题来做到这一点。但对我来说,尚不清楚要包含在...中的内容]]

回答 1 投票 1

© www.soinside.com 2019 - 2024. All rights reserved.