python能和c语音交互吗_Python与C交互概述
1.Python與C交互概述
Python與C/C++交互的三種方式Python擴展:在Python程序中調用C/C++編寫的庫
Python嵌入:在C/C++程序中調用Python程序
Python調用:Python和C間以程序級別互相調用
Python與C/C++交互的價值整合Python高產與C/C++高效的優勢
利用C或Python已有功能服務彼此的程序
Python作為粘性腳本語言整合或被整合到各類獨立程序
Python擴展:在Python程序中調用C/C++編寫的庫目的:提升關鍵代碼性能、引入C語言成熟功能庫
方式:Cython、SWIG、ctypes、CFFI
形式:Python為主程序,C通過.dll/.so形式使用
Python嵌入:在C/C++程序中調用Python程序目的:利用Python高產、引入Python成熟功能庫
方式:Python/C API
形式:C/C++為主程序,Python通過源文件形式使用
Python調用:Python和C間以程序級別互相調用目的:模塊間功能互用,以功能使用為目標
方式:子進程或線程方式,即subprocess
形式:C/C++和Python都是獨立程序
小結:Python與C/C++交互的三種方式Python擴展:十分重要,Python程序員必學必會
Python嵌入:一般重要,Python程序員可以掌握
Python調用:比較重要,Python程序員應該掌握
2.Python的擴展方法目的:提升關鍵代碼性能、引入C語言成熟功能庫
方式:Cython、SWIG、ctypes、CFFI
形式:Python為主程序,C通過.dll/.so形式使用
Cython:實現Python擴展的一種語言,第三方庫思路:通過一種簡單的語言來實現Python和C的接口
方式:采用了Pyrex語法形式
結果:采用C數據類型的Python編程,實現混合編程
SWIG:一個將C/C++與腳本語言相整合的編譯器,獨立工具思路:通過一個編譯器來實現Python和C的接口
方式:純C/C++編程,通過編寫接口變成Python模塊
結果:獨立C和Python編程,重點在于編寫接口(描述)
ctypes:調用DLL或共享庫的Python功能函數庫,標準庫API思路:通過一個Python標準庫實現Python擴展
方式:C語言功能編為.dll或.so庫,加載庫及調用函數,API
結果:C語言獨立編程,Python使用庫調用接口函數
CFFI:在Python中直接使用C函數的方式,第三方庫思路:類似ctypes,使用API擴展C程序,也可以直接混合編程
方式:關注C函數的訪問接口,而不是庫函數,構建API
結果:C語言獨立編程,Python用CFFI擴展,最小學習代價
小結:在Python程序中調用C/C++編寫的庫Cython:采用C數據類型的Python編程
SWIG:將C轉變為Python模塊的接口編譯工具
ctypes:調用.dll或.so的標準庫API
CFFI:調用C函數及混合編程的第三方庫API
3.Python的嵌入方法
Python嵌入:在C/C++程序中調用Python程序目的:利用Python高產、引入Python成熟功能庫
方式:Python/C API
形式:C/C++ 為主程序,Python通過源文件形式使用
Python/C API:Python嵌入的主要接口嵌入Python語句:嵌入一個或多個Python語句
嵌入Python腳本:嵌入一個或多個Python文件
Python/C API需要加載Python解釋器及加載Python語句和腳本
Python/C API:Python嵌入的主要接口Python/C API 是一組能夠在C語言下執行的類型定義和函數
頭文件:Python.h
函數:加載Python解釋器、嵌入Python語句及腳本、數據類型轉換等
加載Python解釋器:
4.Python的調用方法
Python調用:Python和C間以程序級別互相調用目的:模塊間功能互用,以功能使用為目標
方式:子進程或線程方式,即subprocess
形式:C/C++和Python都是獨立程序
在Python中調用C語言程序使用Python的subprocess模塊
步驟1:準備好C語言編寫的待調用程序
步驟2:使用subprocess模塊調用并執行程序
subprocess模塊
在C中調用Python程序使用C的system()函數
步驟1:準備好Python編寫的待調用程序
步驟2:使用system()函數調用并執行程序
system()函數
小結:Python和C間以程序級別互相調用Python調用C :subprocess模塊
C調用Python:system()函數
總結
以上是生活随笔為你收集整理的python能和c语音交互吗_Python与C交互概述的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: python 日历_python中的日历
- 下一篇: python机械臂仿真_VTK与Pyth