我使用SWIG使我的C代碼在PHP上工作......但我不知道如何編寫一個基於我的C代碼的良好接口傳遞給SWIG.Can有人幫助我?查看我的C代碼看起來像這樣的鏈接:http://www.pastie.org/1739618 非常感謝您的幫助如何設計我的SWIG界面?
0
A
回答
1
您應該將函數原型移動到單獨的頭文件中。 SWIG可以處理併爲您生成所需的東西。您可以按照SWIG tutorial,特別注意SWIG的真正懶惰,它顯示瞭如何避免必須維護一個單獨的SWIG接口文件。
將此信息與SWIG and PHP頁中的信息結合起來,您應該能夠使事情順利進行。請注意,SWIG不支持PHP4。
也許你可以嘗試像下面出來,並用它作爲輸入到swig
命令啓動的東西:
/* optim_wizard_5.h */
#ifdef SWIG
%module optim_wizard_5
%{
#include "optim_wizard_5.h"
%}
#endif
/* Function prototypes to define later */
void *getCpc(void *ptr);
float getCpc_max(float *arg);
char *do_web_request(char *url);
size_t write_data(void *buffer, size_t size, size_t nmemb, void *userp);
float request_cpc();
0
有些事情往往不跨語言很好地工作,使用痛飲:
- 不要亂扔要公開痛飲
- 不要返回或要求作爲參數,原C-陣列,你暴露的接口的接口以外的例外。 (最好將它們包裝在結構中)
- 在您的接口中寫入包含要在PHP界面中公開的頭文件的SWIG接口文件。不要將SWIG #ifdefs嵌入到C代碼本身中...
相關問題
- 1. 如何/何時設計界面?
- 2. Java界面設計
- 3. Android界面設計
- 4. Java - 界面設計
- 5. Android界面設計
- 6. 如何正確設計界面
- 7. 如何使用Xcode設計界面iosopendev?
- 8. 如何在iPad上應用我自己的界面設計?
- 9. 我們如何在Eclipse中進行用戶界面設計?
- 10. 界面設計iPhone X
- 11. Android用戶界面設計
- 12. iPhone用戶界面設計
- 13. 界面設計與帆布
- 14. 上下文界面設計
- 15. HTML設計器界面
- 16. 關於android界面設計
- 17. 遊戲界面設計
- 18. DAO設計模式界面
- 19. 文本界面設計
- 20. 如何使用swig爲C++生成php界面如此
- 21. 我不知道如何改變我的界面與QT設計器
- 22. 銀行系統界面設計 - 面試
- 23. 如何將代碼逐字地插入SWIG界面?
- 24. 如何使用SWIG生成跨平臺界面?
- 25. 我可以在立面設計模式中使用界面嗎?
- 26. 網站的用戶界面是如何設計的?
- 27. Android中的用戶界面設計
- 28. 靈活的日誌界面設計
- 29. 設計清潔界面的指南
- 30. 遊戲的繼承/界面設計
我已經完成了基於SWIG TUTORIAL,SWIG和PHP頁面的類似操作,但是libcurl提供的方法不受支持,只要我的代碼中有很多指針,很難說SWIG如何管理它們。 – user683831 2011-03-31 16:05:06
libcurl在這種情況下應該不重要。 SWIG只需爲您自己的功能生成代碼。根據[this](http://www.swig.org/Doc2.0/SWIG.html#SWIG_nn15)SWIG可以很好地處理指針。 – trenki 2011-03-31 19:29:30
爲什麼不能直接在PHP中編寫代碼? PHP也支持libcurl。 – trenki 2011-03-31 19:37:51