我希望將現有的C(純C即無C++)庫封裝到Python中,以便我可以從Python腳本中調用它。各種可用(C Api,SWIG等)中哪種方法最適合?Python C互操作性
3
A
回答
7
與Ctypes一起使用,它是標準分發的一部分,工作得很好。 基本上你可以在Python類中包裝C結構和類型以及函數。一些類型和功能已經由庫提供。
警告夫婦雖然:經過三重指針C例程並不明顯(如果有),我無法得到它與Linux上的靜態庫工作,DLL和共享對象都很好。
+0
謝謝未知。我甚至不知道ctypes存在。它看起來更簡單,但卻與其他人一樣有效。 – 2010-01-27 14:11:09
4
SWIG非常適合這樣做。這裏是一個示例教程:http://www.swig.org/Doc1.3/Python.html。
0
由於您的代碼是「純」C,因此您可以考慮使用Pyrex/Cython。這不是一個投票問題,Cython已經被提及。我只是澄清了爲什麼它是純C更好的選擇。
相關問題
- 1. C++ JNI互操作性
- 2. C#-Excel互操作性
- 3. 互操作性
- 4. bool和C/C++的互操作性
- 5. 和C#的互操作性C++(.NET)
- 6. Python XML + Java XML互操作性
- 7. Hadoop互操作性
- 8. C#的Excel互操作性:在一次
- 9. .NET和C++的互操作性
- 10. C#4.0動態Office互操作性能
- 11. C++到D的互操作性
- 12. Threaded Erlang C-Node(cnode)互操作性howto?
- 13. C# - Java互操作
- 14. 實時Java互操作性
- 15. iPhone/.NET WCF互操作性
- 16. Java和.Net互操作性
- 17. Web服務互操作性
- 18. .NET互操作性問題
- 19. DDS中的互操作性
- 20. Winforms WPF互操作性能
- 21. WCF互操作性測試
- 22. wsdl互操作性問題
- 23. CUDA OPENGL互操作性:cudaGLSetGLDevice
- 24. C#互操作使用Ghostscript
- 25. C#和Excel互操作
- 26. C#與XPCOM互操作
- 27. 互操作直接從C#
- 28. 通過C#互操作
- 29. C#與DLL的互操作
- 30. C++和C#的互操作性:P/Invoke與C++/CLI
3個答案,3種不同的建議。不完全是你所希望的,我猜測;) – 2010-01-27 04:30:59
建議關閉作爲主觀和論證。所有最好的問題都是這樣的。 – whatnick 2010-01-27 05:34:46