一篇文章告訴你如何用python進(jìn)行自動(dòng)化測(cè)試,調(diào)用c程序
一、介紹
python可以做測(cè)試c的程序,
用到ctypes模塊
ctypes 有以下優(yōu)點(diǎn):
- Python內(nèi)建,不需要單獨(dú)安裝
- 可以直接調(diào)用二進(jìn)制的動(dòng)態(tài)鏈接庫(kù)
- 在Python一側(cè),不需要了解Python內(nèi)部的工作方式
- 在C/C++一側(cè),也不需要了解Python內(nèi)部的工作方式
- 對(duì)基本類(lèi)型的相互映射有良好的支持
ctypes 有以下缺點(diǎn):
- 平臺(tái)兼容性差
- 不能夠直接調(diào)用動(dòng)態(tài)鏈接庫(kù)中未經(jīng)導(dǎo)出的函數(shù)或變量
- 對(duì)C++的支持差
二、方法
1、編寫(xiě)c函數(shù)
2、編譯c函數(shù)為動(dòng)態(tài)庫(kù)
3、python2程序里面導(dǎo)入庫(kù)
from ctypes import * mm = cdll.LoadLibrary('hello.dll')##或者為hello.so mm.print()
三、示例
windows平臺(tái)
1、編寫(xiě)搭建動(dòng)態(tài)庫(kù)c函數(shù)
設(shè)置工程
編譯
2、python導(dǎo)入庫(kù)
3、結(jié)果
linux平臺(tái)
1、編寫(xiě)c程序
2、編譯成so動(dòng)態(tài)庫(kù)
gcc -fPIC -shared test.c -o libtest.so
3、編寫(xiě)python導(dǎo)入庫(kù)
4、執(zhí)行
總結(jié)
本篇文章就到這里了,希望能給你帶來(lái)幫助,也希望您能夠多多關(guān)注腳本之家的更多內(nèi)容!
相關(guān)文章
python中scipy.stats產(chǎn)生隨機(jī)數(shù)實(shí)例講解
在本篇文章里小編給大家分享的是一篇關(guān)于python中scipy.stats產(chǎn)生隨機(jī)數(shù)實(shí)例講解內(nèi)容,有需要的朋友們可以學(xué)習(xí)下。2021-02-02Sklearn調(diào)優(yōu)之網(wǎng)格搜索與隨機(jī)搜索原理詳細(xì)分析
這篇文章主要介紹了Sklearn調(diào)優(yōu)之網(wǎng)格搜索與隨機(jī)搜索原理,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)吧2023-02-02深入理解Python虛擬機(jī)中整型(int)的實(shí)現(xiàn)原理及源碼剖析
在本篇文章當(dāng)中主要給大家介紹在 cpython 內(nèi)部是如何實(shí)現(xiàn)整型數(shù)據(jù) int 的,主要是分析 int 類(lèi)型的表示方式,分析 int 類(lèi)型的巧妙設(shè)計(jì)2023-03-03解析numpy中的iscomplex方法及實(shí)際應(yīng)用
NumPy 的 iscomplex 方法為檢查數(shù)組中的元素是否為復(fù)數(shù)提供了一種高效且易于使用的接口,本文介紹了 iscomplex 方法的基本概念、使用方法以及它在解決實(shí)際問(wèn)題中的應(yīng)用,需要的朋友可以參考下2024-06-06Python opencv醫(yī)學(xué)處理的實(shí)現(xiàn)過(guò)程
這篇文章主要介紹了Python opencv醫(yī)學(xué)處理的實(shí)現(xiàn)過(guò)程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2021-05-05np.concatenate()函數(shù)數(shù)組序列參數(shù)的實(shí)現(xiàn)
本文主要介紹了np.concatenate()函數(shù)數(shù)組序列參數(shù)的實(shí)現(xiàn),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2023-03-03用python畫(huà)個(gè)奧運(yùn)五環(huán)(附完整代碼)
大家好,本篇文章主要講的是用python畫(huà)個(gè)奧運(yùn)五環(huán)(附完整代碼),感興趣的同學(xué)趕快來(lái)看一看吧,對(duì)你有幫助的話(huà)記得收藏一下2022-01-01Python實(shí)現(xiàn)帶圖形界面的炸金花游戲(升級(jí)版)
詐金花又叫三張牌,是在全國(guó)廣泛流傳的一種民間多人紙牌游戲,它具有獨(dú)特的比牌規(guī)則。本文將通過(guò)Python語(yǔ)言實(shí)現(xiàn)升級(jí)版的帶圖形界面的詐金花游戲,需要的可以參考一下2022-12-12對(duì)tf.reduce_sum tensorflow維度上的操作詳解
今天小編就為大家分享一篇對(duì)tf.reduce_sum tensorflow維度上的操作詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2018-07-07Python實(shí)現(xiàn)二叉樹(shù)前序、中序、后序及層次遍歷示例代碼
這篇文章主要給大家介紹了關(guān)于Python實(shí)現(xiàn)二叉樹(shù)前序、中序、后序及層次遍歷的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用Python具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2019-05-05