VScode中Python调用C/C++

VScode中Python调用C/C++

    • 混合编程

混合编程

由于Python的处理速度太慢了难以满足实时性的需求,所以想在其中一些关键部分采用C/C++模块,而其他部分则继续使用python,为此采用VScode 进行Python 调用 C/C++的一些工作(以调用C为例):

1.创建一个pycall.c

/***gcc -o libpycall.dll -shared -fPIC pycall.c*/  
#include   
#include   
int foo(int a, int b)  
{  
  printf("you input %d and %d\n", a, b);  
  return a+b;  
}

然后在终端输入:gcc -o libpycall.dll -shared -fPIC pycall.c
注意:在WIND下是.dll

VScode中Python调用C/C++_第1张图片
然后就会在侧边栏上看到多了一个文件:libpycall.dll

之后,再新创建一个test.py用来测试

from ctypes import *
great_module = cdll.LoadLibrary('./libpycall.dll')

c=great_module.foo(1, 3)
print(c)

然后可以看到其结果是:
VScode中Python调用C/C++_第2张图片
说明成功了。
而如果是调用C++,则有一些不同
创建C++文件(pycpp.cpp):

/***g++ -o libpycallcpp.dll -shared -fPIC pycpp.cpp*/  
 #include 
 using namespace std;

int main()
{
        cout<<"Hello World!"<

主要是生成dll的代码是:

g++ -o libpycallcpp.dll -shared -fPIC pycpp.cpp

而只要生成了dll之后,python中调用也是一样。

你可能感兴趣的:(编程感悟,python,c++)