swig

    7熱度

    3回答

    我想包裝一些在Java中使用的遺留代碼,我很高興地看到Swig能夠處理頭文件,並且它生成了一個幾乎可以工作的很好的包裝。現在我正在尋找能夠使其真正奏效的深奧魔法。 在C我有一個看起來像這樣 DLL_IMPORT int DustyVoodoo(char *buff, int len, char *curse); 這個整數該函數返回的情況下錯誤代碼失敗的函數。的參數是 buff是一個字符緩衝器

    0熱度

    2回答

    我有一個名爲GetEnemiesLua的方法。我已經使用SWIG將此類綁定到lua,並且可以使用我的lua代碼調用此方法。 我想獲得返回一個lua表的對象的方法。 這裏是我當前的代碼: void CGame::GetEnemiesLua(){ std::vector<Unit*> enemies = callback->GetEnemyUnits(); if(enemies.empty()){

    1熱度

    2回答

    我已經使用SWIG將一組類綁定到lua。我知道C++本身不支持猴子修補,我不想修改我的C++對象,僅僅是他們的lua表示。如果我想要啓動猴子修補由SWIG導出的lua表和對象的問題,那麼我可以修改lua端提供的API。 例如以下lua代碼: game.GetEnemies1 = game.GetEnemies2 不能正常工作。該行後面的行爲仍然與原始GetEnemies1而不是GetEnemi

    1熱度

    2回答

    我真的很喜歡像SWIG那樣的自動綁定生成的想法。但它仍然缺乏Javascript綁定。我讀到它不能用Spidermonkey完成,因爲JS Context必須作爲參數傳遞給每個函數。 我發現的唯一解決方案是將JVM嵌入到我的C++應用程序中,使用SWIG生成與Java的綁定,然後使用Rhino引擎作爲JS解釋器。它工作正常,但它確實重量級! 還有其他想法嗎? 注:是的,我知道,我可以用Python

    0熱度

    1回答

    構建我有以下功能的函數: typedef struct tagT{ int a ; int b ; }Point; int lib_a_f_5(Point *out_t) { out_t->a = 20; out_t->b = 30; return 0; } 我應該如何引導痛飲生成的紅寶石(或LUA)正確的代碼? 把下面的語句接口文件時間: %apply SWIGTYP

    3熱度

    2回答

    我意識到這可能是奇怪的東西,但這裏是我的。 我有一個用C/C++編寫的應用程序(手寫識別引擎)。這個應用程序有Perl封裝,它是由應用程序的作者使用SWIG製作的。我的網站是用PHP編寫的,所以我正在尋找一些方法使PHP能夠與C/C++應用程序一起工作。 我現在想到的唯一方法是創建一個CGI腳本(perl腳本),它接受來自我網站的POST請求(AJAX請求),通過它的Perl包裝發送給識別引擎,獲

    5熱度

    3回答

    我有一個模塊,將針對幾個不同的操作系統 和配置。有時候,一些C代碼可以使這個模塊的任務 更容易一點,所以我有一些C函數,我想綁定 的代碼。我不有來綁定C函數 - 我不能保證 ,例如,最終用戶甚至有一個C編譯器,它通常是 不是一個問題,優雅地故障轉移到純Perl的方式完成 是同樣的事情 - 但如果我可以從Perl腳本中調用C函數 將會很好。 還在我身邊嗎?這是另一個棘手的部分。幾乎所有的C代碼 都是

    4熱度

    3回答

    的所有屬性提供類如 class MyClass: text = "hello" number = 123 是否有蟒蛇的方式來檢查MyClass的一個決定了其具有兩個屬性text和number。我不能使用類似inspect.getSource(object)的東西,因爲我使用SWIG生成的類是我的屬性,因此它們隱藏在.so :)中。 所以我真的找對Java的[Class.ge

    4熱度

    1回答

    我使用痛飲從Python的numpy的數組傳遞給C++代碼: %include "numpy.i" %init %{ import_array(); %} %apply (float* INPLACE_ARRAY1, int DIM1) {(float* data, int n)}; class Class { public: void test(float*

    2熱度

    1回答

    我想爲使用struct的C代碼編寫Python包裝。 modules.c: struct foo { int a; }; struct foo bar; modulues.i %module nepal %{ struct foo { int a; } %} extern struct foo bar; 但是在編譯期間,我