5
我幾乎不知道C++,所以沒有什麼幫助,而且我的XS也沒有太大改進。我爲C++庫創建了一個XS接口,幾乎所有的方法都在工作,除了一個之外。Perl XS和C++傳遞指向緩衝區的指針
Perl中的方法應該是這樣的:
$return_data = $obj->readPath($path);
的方法被定義爲這個.h文件:
int readPath(const char* path, char* &buffer, bool flag=true);
「緩衝區」會得到,如果它在NULL字符通過分配。
還有另外兩個帶有不同簽名的readPath版本,但它們不是我想要的版本。 (有趣的是,當我嘗試編譯它時,告訴我「候選人」是我不想要的那兩個。)那是因爲它不理解「char * &」?
有人可以幫助我需要寫的xsub?
我在Perl 5.14.2上。
順便說一句 - 我也使用了一個類型圖「long long int」給T_IV。我無法找到任何有關如何正確輸入longmap的文檔。任何建議我應該如何輸入map long long?
謝謝,
對於我來說,解決這個問題的部分答案是理解我不需要在xsub中使用C++ XS結構 - 類::方法(...)。我一直試圖找到XS會接受的簽名,但是一旦我解決了這個問題,解決起來就容易多了。謝謝。 – user1446426 2012-07-22 15:20:50