python 調(diào)用c語言函數(shù)的方法
雖然python是萬能的,但是對于某些特殊功能,需要c語言才能完成。這樣,就需要用python來調(diào)用c的代碼了
具體流程:
c編寫相關(guān)函數(shù) ,編譯成庫
然后在python中加載這些庫,指定調(diào)用函數(shù)。
這些函數(shù)可以char ,int, float, 還能返回指針。
以下示例:
通過python調(diào)用c函數(shù),返回"hello,world 字符串"
新建c語言文件 hello.c
touch hello.c
#include <stdio.h> char *get_str() { return "hello,world" }
編譯成庫
gcc -o hello.so --share -fPIC hello.c
新建python腳本
touch test.py
from ctypes import * dll = CDLL("./hello.so") dll.get_str.restype = c_char_p str = dll.get_str() print(string_at(str, 11))
執(zhí)行python腳本
[feng@arch python_c]$ python test.py hello,world
以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Pytorch中expand()的使用(擴(kuò)展某個(gè)維度)
這篇文章主要介紹了Pytorch中expand()的使用(擴(kuò)展某個(gè)維度),具有很好的參考價(jià)值,希望對大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07Python獲取系統(tǒng)默認(rèn)字符編碼的方法
這篇文章主要介紹了Python獲取系統(tǒng)默認(rèn)字符編碼的方法,涉及Python中sys模塊getdefaultencoding方法的使用技巧,需要的朋友可以參考下2015-06-06詳解Python使用OpenCV如何確定一個(gè)對象的方向
在本教程中,我們將構(gòu)建一個(gè)程序,該程序可以使用流行的計(jì)算機(jī)視覺庫 OpenCV 確定對象的方向(即以度為單位的旋轉(zhuǎn)角度),感興趣的小伙伴可以了解一下2022-10-10Python設(shè)計(jì)模式編程中解釋器模式的簡單程序示例分享
這篇文章主要介紹了Python設(shè)計(jì)模式編程中解釋器模式的簡單程序示例分享,解釋器模式強(qiáng)調(diào)用抽象類來表達(dá)程序中將要實(shí)現(xiàn)的功能,需要的朋友可以參考下2016-03-03Python中各類Excel表格批量合并問題的實(shí)現(xiàn)思路與案例
在日常工作中,可能會遇到各類表格合并的需求。本文主要介紹了Python中各類Excel表格批量合并問題的實(shí)現(xiàn)思路與案例,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2023-01-01如何利用python將Xmind用例轉(zhuǎn)為Excel用例
這篇文章主要介紹了如何利用python將Xmind用例轉(zhuǎn)為Excel用例,文章圍繞主題展開詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下2022-06-06