1. python中如何插入C語言運行?python
(1)編寫C語言代碼:函數
#include<stdio.h> void CFun() { printf("---------我是c語言:-----------\n"); printf("hello world!\n"); printf("------------------------------\n"); }
(2)將c語言編譯爲動態庫:spa
使用命令:gcc cfun.c -fPIC -shared -o lib_cfun.so線程
其中-shared參數表示生成動態連接庫。code
-fPIC參數表示編譯爲位置獨立的代碼,不用此選項的話編譯後的代碼是位置相關的;因此動態載入時是經過代碼拷貝的方式來知足不一樣的調用,而不能達到真正的代碼段共享的目的。blog
-o參數表示重命名爲lib_cfun.so。get
(3)編寫python代碼:io
from ctypes import * from threading import Thread #加載動態庫 lib = cdll.LoadLibrary("./lib_cfun.so") #建立一個子線程,讓其執行c語言編寫的函數 t = Thread(target=lib.CFun) t.start() #主線程 print("----------------我是python語言!---------------------") print("----------------hello python!---------------------")
(4)執行python代碼:編譯