python库和C语言是相互对应的,两者可以相互调用
PYTHON调用C/C++
PYTHON调用C
cftest.c
int cf_test()
{
printf("hello python!\n");
return 0;
}
import ctypes
lib = ctypes.cdll.LoadLibrary
cflib = lib("./libcftest.so")
cflib.cf_test()
执行如下代码:
gcc -o libcftest.so -shared -fPIC cftest.c
python cfcall.py
最终输出:hello python!
PYTHON调用C++
将C++进行extern "c"进行声明即可;
PYTHON调用可执行程序
cexe.c
#include<stdio.h>
void hello(char *str)
{
printf("hello %s\n",str);
}
int main(int argc ,char *argv[])
{
if(argc==2)
{
hello(argv[1]);
}
else
{
printf("bye\n");
}
return 0;
}
import os
main = "./cexe"
os.system(main + " python")
执行下面的代码
gcc cexe.c -o cexe
python cexecall.py
输出 hello python