python呼叫c語言函式的一種簡單實現方法

2021-06-28 20:40:23 字數 466 閱讀 5435

這個方法是利用了python的乙個模組ctypes實現的。

首先是c語言的test.c原始碼函式:

#include int test(char a[100])

然後,使用gcc命令將其打包成乙個共享庫,就可以提供給python直接使用了,命令如下:

gcc test.c -fpic -shared -o libtest.so

原始碼test.c,生成so檔案libtest.so

之後即可用python直接呼叫c中的函式test了,python呼叫如下:

import ctypes

so = ctypes.cdll("./libtest.so")

so.test("aaabbbccc")

用python執行,即可列印「aaabbbccc」字樣,如圖(字元沒有換行,顯示略挫):

python 呼叫c語言函式

雖然python是萬能的,但是對於某些特殊功能,需要c語言才能完成。這樣,就需要用python來呼叫c的 了 具體流程 c編寫相關函式 編譯成庫 然後在python中載入這些庫,指定呼叫函式。這些函式可以char int,float,還能返回指標。以下示例 通過python呼叫c函式,返回 hell...

c語言呼叫cpp函式 C語言 函式的遞迴呼叫

乙個函式在呼叫的過程 現直接或者間接呼叫該函式本身的情況,稱為遞迴呼叫,這種函式稱為遞迴函式 在寫遞迴函式時,需要解決如下兩個問題 1 遞迴的出口條件 2 遞迴公式 遞迴函式的 一般為 if 遞迴出口條件 返回符合出口條件的函式值或輸出結果 else 遞迴公式 雖然演算法一致,但n不同,y不同,在記...

C語言呼叫Python指令碼中的函式

注 本文參考了博文 python功能強大,擁有豐富的庫,可以輕而易舉的做很多用c c 等重量級語言不太方便做到的事情,因為如果在c語言中呼叫python指令碼,則會分發揮python的優點,而且很重要的一點,由於python是解釋執行,如果python中的模組發生改變,不需要重新編譯源 靈活性比c更...