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