python_调用c,c++模块

来源:互联网 发布:淘宝自然搜索排名 编辑:程序博客网 时间:2024/06/06 09:02

参考:http://blog.sina.com.cn/s/blog_6982136301010rsj.html


//testc.c//gcc -o testc.so -shared -fPIC testc.c#include <stdlib.h>    int foo(int a, int b)  {      printf("this is c so Your input %i and %i\n", a, b);      return a + b;  } 


//testcpp.cpp//g++ -o testcpp.so -shared -fPIC testcpp.cpp#include<iostream>using namespace std;void foo2(int a,int b){cout<<"this is cpp so"<<a<<" "<<b<<endl;}//以下为必须extern "C"{void cfoo2(int a,int b){foo2(a,b);}}

#test.py#python test.pyimport ctypes  ll = ctypes.cdll.LoadLibrary libc = ll("./testc.so")  libcpp = ll("./testcpp.so")libc.foo(1, 2)libcpp.cfoo2(1, 3) 





原创粉丝点击