linux下python調用c模塊

在C調用Python模塊時須要初始化Python解釋器,導入模塊等,但Python調用C模塊卻比較簡單,下面仍是以helloWorld.c 和 main.py 作一說明:函數

 
(1)編寫C代碼,hello.c代碼很簡單,只是輸出「Hello World!」:
         
(2)將編寫的C代碼編譯成動態連接庫的形式,具體命令:
 
 
此時在當前目錄下就生成了libhello.so 的動態連接庫:
      
 
(3)在main.py中導入動態連接庫,並調用C函數
       
 
這裏的ctypes是Python的一個外部庫,提供和C語言兼容的數據類型,以方便的調用C編譯的靜態庫和動態庫中的函數, 在此能夠很確定的說,ctypes中可定對C的數據類型進行了轉換,使用時只需import ctypes ,而後導入動態庫便可。
(4)在終端下輸入Python main.py, 運行結果:
      
打印出helloWorld.c中的內容, 說明Python調用C模塊成功!
相關文章
相關標籤/搜索