這個方法是利用了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更...