loop.c
#include<stdio.h>
void test()
{
printf("--------test--------------");
}
int main(int arg, char **argv)
{
printf("hello world \n");
test();
return 0;
}
/*
備註:C語言,使用gcc來編輯,運行直接使用./
注意:在編輯前需要cd到目錄
Jason-MacBook-Pro:Web服務器 wangying$ gcc 14_C語言來解釋.c
Jason-MacBook-Pro:Web服務器 wangying$ ./a.out
hello world
--------test--------------Jason-MacBook-Pro:Web服務器 wangying$
Jason-MacBook-Pro:Web服務器 wangying$ gcc -fPIC -shared -msse4.2 14_C語言來解釋.c -o lib_loop.so
*/
通過終端來編輯生成.so文件,
loop.py
from ctypes import *
from threading import Thread
#加載動態庫
lib = cdll.LoadLibrary("./lib_loop.so")
#創建一個子線程,讓其執行c語言編寫的函數,此函數是一個死循環
t = Thread(target=lib.test)
t.start()
#主線程
while True:
pass
********************************************************************************************************************************
也可以通過os來獲取文件後直接加載
from ctypes import *
from threading import Thread
import os
#加載動態庫
p = os.getcwd()+"./lib_loop.so"
lib = CDLL(p)
#創建一個子線程,讓其執行c語言編寫的函數,此函數是一個死循環
t = Thread(target=lib.test)
t.start()
#主線程
while True:
pass