Python调用C\C++

之前在Python的专题中看到了很多大佬都在说Python可以做为胶水语言,一直不理解。
昨晚在网上看到一篇文章,详细的介绍了该怎么用Python去调用C语言的文件,点醒了我。
特在此做一下笔记
首先,将.c或者.cpp文件编译成.so文件
操作如下:gcc .c文件名加后缀 -shared -o 导出文件名加后缀
例如:(我用的是mingw32,原因可以看我的gcc: error: CreateProcess: No such file or directory解决方案 如果你是可以直接用gcc的就直接用gcc就好了)

c

同理,要是你是.cpp文件 g++ .cpp文件名加后缀 -shared -o 导出文件名加后缀
cpp

Python运行代码如下:

import time
from ctypes import *
def main():
    start_time = time.time()
    result = cdll.LoadLibrary("E:/Code/c语言/test/1.so")
    result.main()
    result = cdll.LoadLibrary("E:/Code/c语言/test/2.so")
    result.main()

if __name__ == "__main__":
    main()

效果如下


运行效果

原c和cpp文件如下:
.c文件

#include 
int main(){
    printf("hello world! In C \n");
} 

.cpp文件

#include 
using namespace std;
int main(){
    cout << "hello world! in CPP"<< endl; 
} 

你可能感兴趣的:(Python调用C\C++)