linux 下Python调用C模块
生活随笔
收集整理的這篇文章主要介紹了
linux 下Python调用C模块
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
在C調用Python模塊時需要初始化Python解釋器,導入模塊等,但Python調用C模塊卻比較簡單,下面還是以helloWorld.c 和 main.py 做一說明:
(1)編寫C代碼,helloWorld.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模塊成功!
與50位技術專家面對面20年技術見證,附贈技術全景圖
(1)編寫C代碼,helloWorld.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模塊成功!
與50位技術專家面對面20年技術見證,附贈技術全景圖
總結
以上是生活随笔為你收集整理的linux 下Python调用C模块的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 如何让python调用C和C++代码
- 下一篇: 用freeze.py打包python程序