社区微信群开通啦,扫一扫抢先加入社区官方微信群
社区微信群
python不擅长"大量运算"任务;
python程序优势在于:编写简单,适合"IO密集型作业"(比如打开文件,下载图片,运行脚本).python作为知名的"胶水语言",快速实现"计算密集型作业"的方法就是"把c的代码拿过来直接用"!
格式
gcc 原文件名.c -shared -o 新文件名.so
示例
以将c_dll.c编译为c_dll.so为例
gcc c_dll.c -shared -o c_dll.so
示例
from ctypes import *
格式
变量名 = cdll.LoadLibrary(“动态库文件路径”)
示例
result = cdll.LodaLibrary("./c_dll.so")
4.调用动态库方法
格式
动态库引用.库函数(参数)
示例
result.my_add(num)
import time
from ctypes import *
def main():
num = int(input("请输入整数值:"))
result = 0
start_time = time.time()
result = cdll.LoadLibrary("./c_dll.so")
result.my_add(num)
end_time = time.time()
print("总共用时%s"%(end_time-start_time))
if __name__ == "__main__":
main()
#include<stdio.h>
void my_add(int num){
long int result = 0;
for (long int i=1; i<=num; i++){
result += i;
}
printf("从1到%d累加的计算结果为%ldn",num,result);
}
import time
def main():
num = int(input("请输入整数值:"))
result = 0
start_time = time.time()
for i in range(num+1):
result += i
print("从1到%d累加的计算结果为%d"%(num,result))
end_time = time.time()
print("总共用时%s"%(end_time-start_time))
if __name__ == "__main__":
main()
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!