python-c-extension

    2热度

    2回答

    后,我已经在短期内用C写一个简约Python3.6扩展模块成功++(see here)我打算提供一个Python模块,它不一样的下面的Python功能iterUniqueCombos(): def iterUniqueCombos(lstOfSortableItems, sizeOfCombo): lstOfSortedItems = sorted(lstOfSortableItems)

    0热度

    1回答

    我试图用64位Python版本机器上的64位Windows打造“nwalign” Python包。 (包可以在这里找到:https://pypi.python.org/pypi/nwalign/?) 我试图建立和安装使用'python setup.py install'包在Python 2.7和3.6,但我得到以下连接错误(我已经取代了一些信息通过 '...'): (C:\...Anaconda3

    1热度

    1回答

    我要创建我的共享库Python扩展。我能够使用distutils来构建和安装它。然而,当我导入模块时得到“未定义的符号”错误。 说我的共享库“libhello.so”包含一个函数。 #include <stdio.h> void hello(void) { printf("Hello world\n"); } g++ -fPIC hello.c -shared -o libhell

    0热度

    1回答

    我有一个Python的C扩展模块,它使用函数_xdr_read_xtc读取xtc轨迹。 该模块内置于.so库中,没有问题,大部分时间运行良好。但是,有时我会得到'分段错误(核心转储)'。 static PyObject * _xdr_read_xtc(PyObject *self, PyObject *args) { int natoms; XDRFILE *xd;

    0热度

    1回答

    使用痛饮C的扩展 我尝试C到Python扩展使用痛饮 对于我所做的玩具应用程序下列文件 hw.c hw.h hw.i 的hw.h内容 项 double hw1(double r1, double r2); hw.c的内容 #include<hw.h> #include <math.h> double hw1(double r1, double r2) { return sin(r1

    1热度

    1回答

    我刚刚回顾了一些为Python创建C扩展模块的代码,这些扩展模块没有包含足够的错误检查。在大多数情况下这很容易,但是对于module-init函数我不确定。 只是为了便于讨论,让我们走(abriged)module-init function for itertools(是的,CPython中附带的一个): m = PyModule_Create(&itertoolsmodule); if (m

    1热度

    1回答

    我想为我的python程序设计一个外部的DLL。现在我可以使用 C++和 Visual Studio 2010生成一个后缀为".pyd"的文件。如果.pyd未与其他由C++生成的.dll文件相关联,则此python库可以正常工作。 不过,现在我需要设计一个.pyd文件,这样的结构调查: A.pyd -> 1.dll -> 2.dll 在这些文件1,2是C库。生产A.pyd时会调用这些库中的函数。

    2热度

    1回答

    我正在编写c-extension并希望在pytest中测试它。 我测试的部分内容是引用计数是否在我的对象上正确。因此,我在建纯Python一个小的测试,让我为难...... 从IPython中我得到: In [1]: x = 153513514215 In [2]: import sys In [3]: sys.getrefcount(x) Out[3]: 2 所以票价从分配好,1个

    2热度

    1回答

    Python的inspect模块似乎无法检查“内置”函数的签名,其中包含C扩展模块中定义的函数,如用Cython。有什么办法可以获得你在这个模块中定义的Python函数的签名,特别是在Cython中?我期望能够找到可用的关键字参数。 MWE: # mwe.pyx def example(a, b=None): p

    2热度

    1回答

    转换我在C中定义库中的函数如下: int* Test(char *str1,int id1,char *str2,float val,float *ls) 我想在Python中使用它,所以我写了下面的Python代码: str1 = 'a' str2 = 'b' id1 = 0 val = 1.0 system('g++ -c -fPIC libtraj.cpp -o test.o')