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 <stdio.h>
int main(){
    printf("hello world! In C \n");
} 

.cpp文件

#include <iostream>
using namespace std;
int main(){
    cout << "hello world! in CPP"<< endl; 
} 
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容