python-c-extension

    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熱度

    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中定義庫中的函數如下: 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')