之前在Python的專題中看到了很多大佬都在說Python可以做為膠水語言矢炼,一直不理解冀膝。
昨晚在網(wǎng)上看到一篇文章酷麦,詳細(xì)的介紹了該怎么用Python去調(diào)用C語言的文件弹惦,點(diǎn)醒了我否淤。
特在此做一下筆記
首先,將.c或者.cpp文件編譯成.so文件
操作如下:gcc .c文件名加后綴 -shared -o 導(dǎo)出文件名加后綴
例如:(我用的是mingw32棠隐,原因可以看我的gcc: error: CreateProcess: No such file or directory解決方案 如果你是可以直接用gcc的就直接用gcc就好了)
同理石抡,要是你是.cpp文件
g++ .cpp文件名加后綴 -shared -o 導(dǎo)出文件名加后綴
Python運(yùn)行代碼如下:
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;
}