2012-12-26 27 views
1

我只是像下面那樣定義一個函數,並使用boost.python將它導出到python。Boost python參數錯誤

我懷疑python中的[File * local_conf]的相應類型是什麼。

size_t curl_conf(const char* conf_url,FILE *local_conf) 
{ 
    return 0; 
} 


    BOOST_PYTHON_MODULE(curl_conf) 
{ 
    using namespace boost::python; 
     def("curl_conf",curl_conf,"get conf"); 
} 

回答

1

由於快速谷歌搜索,我發現這個博客文章,這似乎正好回答你的問題:http://bfroehle.com/2011/10/file-and-boost-python/

你必須寫一個小包裝,因爲沒有直接轉換。

包裝的一個例子可以在這裏找到:https://gist.github.com/1265889

然而,另一種是通過一個串並打開在C++中的文件 - 側。隨你便。

+0

謝謝,它需要一些工作從FD轉移到FILE,反之亦然。 filepath --fopen() - > FILE *; filepath - open() - fd; fd - fdopen() - > FILE *; fd - readlink(/ proc /%getpid()/ fd /%fd「)) - > filepath; – hxc