2010-07-06 51 views
0

我維護一套用於基因組學/生物信息學領域的C++工具(bedtools)。有幾位用戶要求我爲這些庫創建API,例如,針對Perl和Python的「掛鉤」可用(對Python的許多請求)。因此,我對使用SWIG感興趣,因爲它支持C++,理論上可用於創建多種語言的API。爲寫入到stdout的庫創建SWIG API的最佳方法?

但是,前面提到的工具可以在UNIX流中「管道化」,因此所有庫都會寫入stdout。我正在努力弄清楚如何使用SWIG將現有方法(printfs和cout)的輸出作爲API提供。我的理想願景是,這些工具的輸出將是一個迭代器,可以循環使用Python/

有沒有人有這方面的經驗?我將非常感謝具有示例代碼的具體示例。希望我錯過了一些非常明顯的東西。

感激, 亞倫

回答

0

@jobu - SWIG的要點是包裹C++代碼-API的,以便它們可以通過其它語言,蟒,PERL等,並作爲這樣的基於管的訪問來訪問將不合適。這絕不會阻止您根據需要對輸出或輸入進行管道輸出,您的用戶只需用他們自己的語言調用相應的打印功能即可。

但是,重點在於提供基於功能的訪問。