第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時(shí)綁定郵箱和手機(jī)立即綁定

〈詳解〉Python3調(diào)用C程序

標(biāo)簽:
Python C

python为什么要调用c ?

700

c与python对比

python不擅长"大量运算"任务;
python程序优势在于:编写简单,适合"IO密集型作业"(比如打开文件,下载图片,运行脚本).python作为知名的"胶水语言",快速实现"计算密集型作业"的方法就是"把c的代码拿过来直接用"!

python调用c语言代码的方式十分简单,只需四步:

1.将.c后缀的文件编译为动态库文件(.so结尾)

格式

  • gcc 原文件名.c -shared -o 新文件名.so

示例

  • 以将c_dll.c编译为c_dll.so为例
    gcc c_dll.c -shared -o c_dll.so

2.在python文件中导入头文件

示例

  • from ctypes import *

3.在python中引入c动态库,并用变量接收动态库的引用

格式

  • 变量名 = cdll.LoadLibrary("动态库文件路径")

示例

  • result = cdll.LodaLibrary("./c_dll.so")

4.调用动态库方法

格式

  • 动态库引用.库函数(参数)

示例

  • result.my_add(num)


附源码:

c_add.py

import timefrom 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()

c_dll.c

#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累加的计算结果为%ld\n",num,result);
}

700

最终文件目录

python_add.py

import timedef 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()




點(diǎn)擊查看更多內(nèi)容
TA 點(diǎn)贊

若覺得本文不錯(cuò),就分享一下吧!

評論

作者其他優(yōu)質(zhì)文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學(xué)習(xí),寫下你的評論
感謝您的支持,我會繼續(xù)努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進(jìn)行掃碼打賞哦
今天注冊有機(jī)會得

100積分直接送

付費(fèi)專欄免費(fèi)學(xué)

大額優(yōu)惠券免費(fèi)領(lǐng)

立即參與 放棄機(jī)會
微信客服

購課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號

舉報(bào)

0/150
提交
取消