免费国产网站_秋霞午夜一区二区三区视频_99热在线看_日韩精品久久一区二区_午夜看一级毛片_天天鲁在视频在线观看

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

    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開發庫獲得數據手套的角度數據哦~~



    主站蜘蛛池模板: 尤物永久网站_国产91福利视频_成人做爰视频WWW网站_91免费版看片_性无码免费一区二区三区在线_久久91精品国产91久久久 | 欧美国产成人精品一区二区三区_铠甲勇士在线观看_av狠狠干_欧美交换配乱吟粗大25P_日韩v片_欧美成人无码视频午夜福利 | 飞哥战队1_50集免费观看剧情_www.日本视频_欧美一极视频_狠狠色亚洲_国产凹凸久久精品一区_同性男男毛色毛片 | 天天干天天夜_精品亚洲午夜久久久久91_97超碰人人人人人人少妇_999在线观看精品免费不卡网站_超碰碰人人_国产免费网站视频 | 一级黄色免费看_91影视在线观看_欧美极品在线观看_青草青草久热精品视频在线观看_久久精品视频免费_国产精品理论片在线观看 | 成人啪啪色婷婷久_狠狠操2021_青青草自拍视频_麻豆成人免费_欧美国产大片_黄骗免费网站 | 国产日韩欧美91_欧美美女一区二区三区_av大全在线免费看_色一情一乱一伦麻豆_永久免费AV无码网站在线_av色免费在线 干美少妇视频_有码+日韩+在线观看_国产乱码精品一区二区亚洲_视频国产精品_毛片毛片毛片毛片毛片毛片毛片毛片_懂爱av | 色亚洲欧美_朋友人妻系列150合集_国产成人亚洲综合无码_午夜精品久久久久久中宇牛牛影视_久久天天色综合_uuzyz噜噜资源站 | 91porny丨首页入口在线_久久毛毛片_国产日产一区二区三区久久久久久_正在播放一区_久久高清一区二区_久久精品国产亚洲AV无码麻豆 | 亚州AAA片欧洲免费观看高_999在线视频精品免费播放观看_中文字幕欧美日韩_无码精品国应Aⅴ左线_男女啪啪猛烈免费网站_娇小TEEN乱子伦精品 | 日韩欧美第二页_久久青青精品_秋霞一级鲁丝片免费观看_亚洲综合三区_性爱视频网站_女优一区二区三区 | 孕妇怀孕高潮潮喷视频孕妇_亚洲精品国产99_97色伦色_免费看黄色影片_国产一区二区三区91_欧美日韩性生活片 | 久青草资源视频在线无码_麻豆精品一区_就爱av_性欧美1819sex性高清_国语对白做受69按摩_外出3在线观看 在线四区_自拍偷拍臀av_日韩高清免费看_欧美精品VIDEOFREE1080P_97久久综合一区二区三区_亚洲日韩欧美一区二区三区在线 | 日本一二三在线_91亚洲精品一区二区_成人做爰黄_4hu四虎视频紧急入口_狠狠躁18三区二区一区AI明星_9色视频在线观看 | 葵司一区二区_国产无套粉嫩白浆在线_日本一道高清视频1区_最新日韩一区_国产高潮流白浆视频_国产精品亚洲综合一区在线观看 | 三级网站视频在在线播放_在线欧美一级视频_99精品视频在线观看婷婷_国产精品久久免费观看_色播久久_99精品视频一区 | 一级黄色美女_人妻少妇乱子伦无码专区_2021国内精品久久久久久影院_丰满无码人妻热妇无码_4k岛国日韩精品**专区_久久亚洲国产成人精品无码区 | 小荡货好紧好爽A片视频_精品中文字幕在线_色多视频_国产精品久久91_久久爱7788_日本高清不卡中文字幕 | 欧美69xxxxx_欧美人与动牲交ZOOZ男人_国产精品久久久久潘金莲_亚洲天堂男_精品成人在线视频_蜜桃传媒一区二区亚洲av | 免费的api接口网站_免费在线观看国产_国产综合精品五月丁香好久久_国产欧美一二三区_99热久久久久久久久久久174_亚洲性免费 | www.久久久久久久久_caopro超碰国产高清_91视频com_91色视频在线_亚洲成人涩涩_无码人妻丝袜在线视频 | 午夜视频精品_日本黄色免费观看_男女无遮挡在线_日韩精品网站_超碰这里只有精品_国产成人精品a视频一区 | 私人午夜影院_国产啪亚洲欧美精品无码_中文无码字幕中文有码字幕_黄色av观看_超碰人人搞_国产精品久久久久久久午夜 | 亚洲不卡视频一区二区_精品一区在线视频_久久久www免费人成人片_国产亚洲成av人在线观看导航_日韩中文字幕精品视频_jazzjazz国产精品 | 国产午夜三级一区二区三_免费欧美精品_欧美做a视频_中文字幕人妻被公上司喝醉在线_人人超操_这里只有精品视频 | 国产精品福利社_西西人体大胆444www高清大但_91久久国产综合久久_伊人久久五月丁香综合中文亚洲_正在播放亚洲_久久成人免费日本黄色 | 亚洲欧美在线综合图区_一个人看的www在线观看免费_国产88久久久国产精品免费二区_一级片看看_2021国产在线视频_国产精品一级黄色片 | 亚洲伦乱视频_chinese乱子伦XXXX_亚洲国产无码在线观看_日韩在线播放一区_欧美日韩在线观看不卡_九色综合婷婷综合 | 久热精品免费_日韩av福利_欧美午夜片欧美片在线观看_天天操夜夜操夜夜操_无码中文字幕人妻在线一区_一区二区三区免费看 | 麻豆国产成人AV高清在线_国内精品久久人妻互换_亚洲欧美一区二区成人片_草草草草视频_www.youjizz.com欧美_浓毛老太交欧美老妇热爱乱 | 免费的api接口网站_免费在线观看国产_国产综合精品五月丁香好久久_国产欧美一二三区_99热久久久久久久久久久174_亚洲性免费 | 中文字幕一区二区人妻_日本高清黄色片_久久综合给合久久国产免费_亚洲影院免费_黄色一二区_91sex国产 | 国产成人综合亚洲欧美丁香花_国产免费bxbx人网站视频_久久久成人av毛片免费观看_被猛男伦流澡到高潮H视频网站_丰满少妇高潮在线播放不卡_婷婷在线视频免费播放 | 草草浮力院禁止18进入_亚洲视色_大陆国产vs国产对白_色网站免费在线_九色视频在线观看_奇米视频888战线精品播放 | 1313午夜精品美女爱做视频_亚洲人成在线观看_日韩视频a_国产精品一区二区三区麻豆_免费一级肉体全黄毛片高清_亚洲国产欧美在线人成大黄瓜 | 国产成人资源手机免费看a_亚洲欧美视频二区_午夜播影院_午夜在线免费视频_久久久久久成人综合网_白白国产永久视频 | 名器高h禁伦桌上肉伦h_精品国免费一区二区三区_欧美性猛交xxxx乱大交极品_精品在线视频免费观看_他扒开我小泬添我视频_国产色XX群视频射精 | 日韩av一区二区三区在线_无码专区一ⅴa亚洲v专区在线_蜜芽国内精品视频在线观看_美女又爽又黄免费视频_jizz超清_国产精选免费进入 | 91性高湖久久久久久久久网站_催眠极品YIN荡人妻合集H_国产精品久久久久久妇女6080_亚洲欧美在线观看_少妇老师寂寞高潮免费A片_一区二区三区视频国产日韩 | 国产美女精品一区_免费看国产片在线观看_芭乐视频在线播放_囯产乱色国产精品免费视频_超碰97色_伊人日韩 | 免费无码av一区_97超碰免费人妻中文_在线观看91精品国产网站_波多野结衣AV在线无码中文观看_a级黑粗大硬长爽猛出猛进_亚洲日韩欧美在线一区二区 |