99国产欧美另娄久久久精品_国内自拍农村少妇在线观看_久久亚洲道色宗和久久_日本aⅴ大伊香蕉精品视频_亚洲国产欧美日韩欧美特级_日本视频免费在线观看

  • 您的位置:首頁 > 新聞動態 > 技術文章

    PYTHON調用C++DLL的參數傳遞方法

    2019/9/16??????點擊:

    1. PYTHON與C++參數變量的比較

    2. 準備一個C++ DLL的測試工程文件,并編譯產生DLL文件,代碼如下:
    C++文件(cpp):(注意在函數聲明上加上extern "C" 的修飾)

    #include “testdll.h”
    extern "C" {
        __declspec(dllexport) int Double(int x);
        __declspec(dllexport) float floatAdd(float a,float b); 
        __declspec(dllexport) void HelloWorld(char * str); 
        __declspec(dllexport) void Ints(int * arr,int n); 
    }
    int Double(int x){
        return x*2;
    }
    float floatAdd(float a,float b) {
        return a+b;
    }
    void HelloWorld(char * str){
        puts(str);
    }

    在python腳本中使用ctypes加載dll :
     from ctypes import *
     dll = cdll.LoadLibrary('DLL/dlltest.dll')
    請注意:


    1.如果不加任何修飾,默認傳入參數為int,傳出參數也為int 

    2.對于int以外的類型(如float),需要聲明python函數的傳入參數類型,傳出參數類型 fun.argtypes=[c_float,c_float]  #定義傳參類型
     fun.restype=c_float             #定義返回值類型
     a=fun(c_float(1.4),c_float(1.2))
     print(type(a))
     print(a)
     輸出:2.5999999046325684 

    3.對于字符串char* ,在聲明傳入參數類型時,需要聲明為字符指針,然后分配一塊char數組,后把這個數組強制轉換為字符指針 并且,在把python腳本中的數據結構導入c++中時,需要把str轉換為bytes或者bytesarray類型,并且進行迭代器分解
     hello=dll.HelloWorld
     hello.argtypes=[POINTER(c_char)]    #傳入參數為字符指針
     STR=(c_char * 100)(*bytes("WiseGlove數據手套",'utf-8')) #把一組100個的字符定義為STR
     cast(STR, POINTER(c_char))
     hello(STR)
     輸出:WiseGlove數據手套 

    4.對于其他數據類型的數組,(例如int*),操作相似: Ints=dll.Ints
     Ints.argtypes=[POINTER(c_int),c_int]
     INT=(c_int * 100)(*[1,2,3]) #把列表傳入變長參數args*中
     cast(INT, POINTER(c_int))
     Ints(INT,c_int(3))
     輸出:1 2 3  

    5.對于返回值為數組的情況,可以直接使用索引去訪問,但是下標操作[]不是從迭代器中取對象,而是地址偏移: def fillHoleCpp(im):
         dll = cdll.LoadLibrary("bfs.dll")
         bfs=dll.bfs
         bfs.argtypes = [POINTER(c_int),c_int]
         bfs.restype = POINTER(c_int)
         a = np.asarray(range(16), dtype=np.int32).reshape([4, 4])
         if not a.flags['C_CONTIGUOUS']:
             a = np.ascontiguous(a, dtype=a.dtype)  # 如果不是C連續的內存,必須強制轉換
         IMG = cast(a.ctypes.data, POINTER(c_int))  # 轉換為ctypes,這里轉換后的可以直接利用cty
         cast(IMG, POINTER(c_int))
         length=a.size
         ans=bfs(IMG,c_int(length))
         print(type(ans))
         for i in range(0,length):
             print(ans[i],end=' ')
    怎么樣, 小伙伴們學會了Python語言調用C++dll的方法了嗎? 使用這個方法,可以調用WONGLOVE數據手套的sdk開發庫獲得數據手套的角度數據哦~~



    主站蜘蛛池模板: 亚洲毛片一区二区_天天爱天天做天天添天天欢_黄视频福利_午夜影皖精品av在线播放_国产精品免费一区二区区_乱肉妇精品av_浮生影视在线观看免费_大波妺av网站影院 | 国内自拍五区_被黑人的巨茎日出白浆_中文字幕第一区二区_国产亚洲美女精品久久久_亚洲porn_国产伦一区二区三区色一情_人人草人人人_久久无码字幕中文久久无码 | 色视频网站免费观看_朋友的妈妈5在线观看_少妇SPA推油被扣高潮_亚洲精品性_久久性生活片_最近日本MV字幕免费观看_亚洲AV永久无码精品表情包_披荆斩棘的哥哥第三季免费观看 | 久久激情av_欧美日韩精品一区二区三区高清视频_国产精品久久久久久久久果冻传媒_www.av黄_四虎影视久久久免费观看_亚洲精品影院在线_深夜福利备好纸巾18禁止_亚洲va | 78午夜福利视频_国内不卡的一区二区三区中文字幕_韩国一级片视频_午夜在线看_avtom影院址永久入口跳转_亚洲色无码中文字幕手机在线_国产亚洲99影院_亚洲成人一级片 | 女同性恋一区_毛片a区_久久国产人妻无码一区_网红主播大秀福利视频日韩精品_欧美天天影院_国产亚洲日本精品无码_好大好硬好深好爽想要_国产麻豆剧传媒精品AV | 欧美一级特黄aaaa_亚洲综合麻豆_人妻日本无中文字幕无码_久久久久毛片_www.伊人久久_老司机精品影院_成全动漫在线观看免费观看_日本亚洲网站 337P大尺度啪啪人体_国产一二三视频_在线亚洲网站_91av一二三区_小鸟酱福利视频_999观看免费高清www_婷婷日日_国产91精品欧美 | 手机在线观看av片_免费观看呢日本天堂视频_国产一卡2卡3卡四卡精品国色_精品一区二区久久久久黄大片_GOGO人体大胆全球少妇_久久久久久国产精品美女_色视频线观看在线播放_国产精品久久不能 | 小老弟av影院_2023国产亚洲精品色爽无码_香蕉久久一区二区不卡无毒影院_中国GAY片男同志免费网站_国产亚洲精品女人久久久久久_国产做a爱一及毛片久久_日韩网站一区二区_久久精品无码观看TV | 好男人资源在线观看视频_日韩在线不卡视频_俄罗斯小younv另类_伊人久久综合精品无码AV专区_国产一级精品片_久久亚洲成人av_黄污视频在线免费观看_日本一二区免费 | 免费a在线看_黑人30厘米少妇高潮全部进入_久久国产午夜精品理论片_国产精品视频1区_夜夜爱爱_麻豆免费进入_亚洲色大成网站WWW永久_亚洲第一区精品 | 青青草视频偷拍_人人天天操_www·黄_人人射人人草_欧美精品在线一区二区三区_亚洲大片在线播放_国产伦精品一区二区三区视频黑人_www国产精品com | 国产一区二区三区美女_一个人看的www免费观看视频_在线成人看片_国产伦精品一区二区三区88av_亚洲精品无码AV中文字幕_精品久久久久久综合日本_九色成人在线_穿书自救指南2樱花动漫免费观看 | 亚洲国产成人高清在线播放_asian成熟肉图pics_老司机精品视频免费观看_又大又粗又爽免费视频a片_中文在线观看免费网站_最新日韩精品视频_亚洲欧洲日产国码无码久久99_一区二三区四区乱 | 91超碰免费_撕开奶罩揉吮奶头视频_成年免费无码动漫AV片在线观看_免费精品视频一区二区_老熟妇性老熟妇性色变态_91综合色_美女国产毛片a区内射_蜜桃传媒一区二区 | 美丽姑娘免费高清观看_欧美黑人狂躁日本寡妇_亚洲精品久久无码AV片亚洲有色_国产日韩欧美另类_西西大尺度美軳人人体bt_一个人看的免费视频WWW中文字幕_天堂网www天堂在线资源库_伊人黄网 | 2024国产精品自拍_亚洲xxx视频_国产精品一区免费在线_护士的奶又大又粗又大_国产成人AV大片在线播放_欧美日韩八区_美女诱惑一区二区_午夜久操 | 久久久久影院美女国产主播_91大神一区二区_国产精品毛片一区二区在线_日本黄页网站免费观看_在线看毛片的网站_久久久久国产亚洲AV麻豆_免费精品在线视频_日本亲子乱子伦xxxx30路 | 野狼第一精品社区_亚洲精品视频在线免费播放_字幕日韩视频一区二区_国产99一区二区_性中国熟妇videofreesex_麻豆入口国产精品_视频一区二区国产无限在线观看_在线看国产视频 | 免费毛片视频播放_成人欧美一区二区三区A片_欧美性大战xxxxx久久久_国产精品久线观看视频_69av一区_亚洲精品视频久久久_欧美国产日韩在线观看成人_9l视频自拍九色9l视频成人 | 弄逼视频_午夜三级视频_一区二区三区欧美视频_色多多A级毛片免费看_久久91久久_色黄视频在线_日日摸夜夜添夜夜添老人妇人_午夜影院免费看 | 大胆欧美熟妇xxbbwwbw_国产精品欧美久久久_60—70sexvideos老少配_色精品一区二区三区_懂色av一区二区三区观看_成人sese_国产一区二区三区乱码_亚洲免费综合 | 国产精品推荐_一级欧美一级日韩片免费观看_日本SM极度另类视频_gg55gg国产成人影院_亚洲精品xx_国产精品av久久久久久网站_91av视屏_强●媚薬レズ狂いatid543 | 三级黄色的视频_免费视频久久久_久久综合综合_性bbbbbxxxxxzzzzz_亚洲精品二三区_美女黄的视频全免费_国产主播av在线_欧美日韩激情在线 | 91婷婷_97在线视频人妻无码_国产成人AV无码精品_欧美大片久久国产欧美日韩精品_亚洲人a成www在线影院_9l国产精品久久久久麻豆_亚洲国产日韩欧美视频二区_中文字幕有码无码人妻在线 | 国产东北肥熟老胖女_久久免费的精品国产v∧_日本国产一区_曰韩欧美_亚洲色图网友自拍_精品国产乱码久久久久禁果_色哟哟在线观看免费高清大_久久亚洲精品成人av | 天天添天天操_久久久欧洲_男人插女人骚视频_ckplayer国产亚洲欧美_av在线影院_尤物爆乳av导航_国产精品无码一区二区三区不卡_免费超级淫片日本高清视频 | 一本大道久久精品_国产网红无码精品视频_国产强伦姧人妻毛片_国产香蕉一区二区在线网站_天天舔日日操_最近中文字幕一区_精品无码中文字幕不卡_亚洲欧美校园 | 青天衙门第一部免费版_粉色视频成人免费观看_国产白嫩漂亮美女在线观看_亚州精品天堂中文字幕_中文字幕av三区_欧美日韩一级黄_一级做a爰片欧美激情床_国产精品二区视频 | 黄色成年网站_亚洲午夜无码AV毛片久久_sss海量视频在线观看_日韩精品卡1卡二卡3卡四卡_se亚洲_日本添下边无码视频全过程_性爱在线免费视频_亚洲熟妇无码AV不卡在线 | 美国一级在线观看_欧美在线观看19_中文无码vr最新无码av专区_国产明星xxxx精品hd_在线偷拍自拍_91天天_区二区欧美性插b在线视频网站_人妻系列AV无码专区 | 国产小视频免费观看_国产普通话刺激视频在线播放_亚洲国产精品无码JAVA_国产网曝门视频在线看_亚洲AV永久无码一区_se中文天堂网_亚洲高清久久久_午夜影院福利视频 | 密色影院_成人国产精品久久久春色_国产a一区二区_久久免费看_美女光胸无遮挡18禁止观看_日韩在线一级片_欧美日韩精品欧美日韩精品一_成人欧美在线 | 国产精品Va免费视频_成人91在线_久久r精品国产99久久6不卡_国产成人精品午夜二三区波多野_日韩av成人影院_亚洲a色_色香久久_在线观看的网站你懂的 | 亚洲天堂一区二区三区四区_好爽好黄好刺激的视频_中文字幕一区二区三区av_在线黄色观看_提莫影院AV毛片入口_丰满的人妻HD高清日本_国产精妇在线观看第一区_福利国产 | 久久免费视频国产_一级毛片短视频_国产黄片av毛片系列_91青青_91ts人妖另类精品系列_婷婷丁香色综合狠狠色_最新中文字幕一区二区三区_国产一区二区精品在线观看 | 国产成人在线观看网站_久热RE这里精品视频在线6_鲁大师在线影院免费观看_狠狠综合亚洲综合亚洲色_久久中文字幕亚洲精品最新_亚洲欧美综合_亚洲AV无码日韩AV无码网站冲_特黄一级性片看 | 亚洲国产欧美一区二区三区久久_免费观看色视频_亚洲国产成人精品无色码_日日人人爽人人爽人人片AV_黄色激情网址_欧日韩精品_人妖啪啪综合av一区ts人妖_视频二区无码人妻在线 | 亚洲av禁18成人毛片一级_三及片大全网日本_免费观看视频一区_欧美特黄视频在线观看_久久er热在这里只有精品66_在线观看高清不卡无码视频_国产九九热_一及毛片 | 日本精品久久_四虎影视网址_国产强奷伦奷片_精品黑人一区二区三区久久_国产aⅴ夜夜欢一区二区三区_中文字幕第315页_亚洲AV无码成人网站在线观看_日韩欧美卡一卡二卡新区 | 精品一区二区三区日本视频_yp最新网站入口_精品一区国产VR_曰本人做爰大片免费观看_久久久资源_在线国产网址_九九视频免费观看_一级黄色在线 |