Linux下用Python调用C模块
生活随笔
收集整理的這篇文章主要介紹了
Linux下用Python调用C模块
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
http://blog.chinaunix.net/uid-22920230-id-3418876.html
在C調用Python模塊時需要初始化Python解釋器,導入模塊等,但Python調用C模塊卻比較簡單,下面還是以helloWorld.c 和 main.py 做一說明:
(1)編寫C代碼,helloWorld.c代碼很簡單,只是輸出“Hello World!”提示:這里定義的函數為test(),所以在后面main.py中最后一行為so.test()。
(2)將編寫的C代碼編譯成動態鏈接庫的形式,具體命令:
此時在當前目錄下就生成了libhello.so 的動態鏈接庫:
(3)在main.py中導入動態鏈接庫,并調用C函數
這里的ctypes是Python的一個外部庫,提供和C語言兼容的數據類型,以方便的調用C編譯的靜態庫和動態庫中的函數, 在此可以很肯定的說,ctypes中可定對C的數據類型進行了轉換,使用時只需import ctypes ,然后導入動態庫即可。 (4)在終端下輸入Python main.py, 運行結果:
打印出helloWorld.c中的內容, 說明Python調用C模塊成功!
總結
以上是生活随笔為你收集整理的Linux下用Python调用C模块的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何在visio2010的框图中插入公式
- 下一篇: 判断网络是否为真正的公网IP