pycxx

    0熱度

    1回答

    我使用PyCXX圍繞嵌入式Python運行時創建C++包裝。 PyCXX似乎沒有一個可執行文件的例子,所以我試圖改編現有的示例代碼。 我可以得到Python解釋器輕鬆設置並運行: extern "C" int Py_Main(int argc, PY_CHAR** argv); int main(int argc, const char * argv[]) { Py_Initial

    4熱度

    1回答

    我正在嘗試使用PyCXX創建一個簡單的Python擴展。我正在編譯我的Python 2.5安裝。 我的目標是能夠做到在Python如下: import Cats kitty = Cats.Kitty() if type(kitty) == Cats.Kitty: kitty.Speak() 但每次我試圖,這是我的錯誤: TypeError: cannot create 'Ki

    1熱度

    1回答

    我正在挑選一些C++ Python包裝器代碼,它允許消費者從C++構造自定義舊式和新式Python類。 原始代碼來自PyCXX,新舊風格類別here和here。然而,我已經對代碼進行了大量改寫,在這個問題中,我會引用自己的代碼,因爲它使我能夠以最清晰的方式呈現我所能做到的。我想只有極少數人能夠理解原始代碼,而不需要經過幾天的審查......對我來說,這花了數週時間,但我仍然不清楚。 舊風格簡單地從

    0熱度

    2回答

    我試圖重新編碼一些相當醜陋的模板編碼。 僅供參考,原來是在這裏:https://codereview.stackexchange.com/questions/69545/recode-c-c-trampoline-function-macros-using-templates class Final : Base { void Foo(){...} void Bar(){..

    0熱度

    1回答

    我想知道在PyCxx生成的python擴展中定義屬性的正確方法。 目前我已經創建了Py::PythonClass的子類,如官方example。 我在初始化函數添加behaviors().supportGetattro();,創造了 Py::Object getattro(const Py::String &name_) { std::string name(name_.as_std_s

    2熱度

    1回答

    我想將numpy數組轉換爲C++端的一些double *或stl向量。我實際上使用PyCXX,我無法弄清楚訪問數據的方式。 我目前能夠這樣來訪問和返回數據緩衝區: Py::Object arrayShape(const Py::Tuple& args){ Py::Object array= args[0]; return array.getAttr("data"); }

    0熱度

    1回答

    當我使用Visual Studio調試我的Python C擴展時,程序中止並顯示消息:「PyThreadState_Get:no current thread」。 在發佈該程序工作正常,如果我添加調試信息它仍然正常工作。 如何解決問題?