免费国产网站_秋霞午夜一区二区三区视频_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開發庫獲得數據手套的角度數據哦~~



    主站蜘蛛池模板: av青草_成人免费视频_色狠狠AV一区二区三区_无码av无码天堂资源网影音先锋_国产精品一区二区不卡_男人J桶女人P免费视频 | 国产亚洲免费观看_国产一极片_国产孕妇视频在线播放_国产美女在线一区_操操操人人人_久久综合九色综合欧美98 | 日本不卡区_秋霞网84鲁丝片在线观看_国产做a爱片久久毛片_国产一级a在线观看_国产高潮合集_色在线免费视频 | 777午夜精品免费观看_av无遮挡_国产精品有限公司_国产一区二区三区免费观看潘金莲_欧美丰满老熟妇aaaa片_免费看黄在线看 | 成人午夜国产_亚洲成人综合在线_国产9页_亚洲午夜久久久影院伊人_丰满少妇人妻HD高清大乳_成人毛片网站 | 99热8_黄一区二区三区_激情se五月_国产精品青青_免费999精品国产自在现线_久久国产欧美一区二区免费 | 一区二区三区高清_亚洲人成网站免费播放_中文字幕亚洲欧美在线_九热在线视频_麻豆影视网站_97精品视频 成–人–黄–色–网–站_AV在线观看网站无码不卡的_国产最新网址_久操中文在线_91插插插插插_精品乱码视频在线 | 奶水都出来了[14p]_久久99精品久久久久国产越南_在线播放无码高潮的视频_日韩av有码_国产性夜夜春夜夜爽有声小说_久草精品视频在线播放 | 日韩在线播放视频_91久久精品凹凸一区二区_日韩一区二区三区视频_特级一级黄色片_成人国产精品入口_青青草一区 | 伊人网站视频_国产精品视频★_欧美又大又粗毛片多喷水_手机黄色在线视频_亚洲女色av_免费无码观看的AV在线播放 | 男生午夜小视频_偷自拍亚洲综合在线_91精品啪在线观看国产60岁_亚洲AV片不卡无码dvd_色欲人妻AV久久无码精品_国产亚洲精品成人av久久影院 | 亚洲女人乱搞_AV无码不卡一区二区三区_50岁四川熟女A片_欧美日韩91_日韩精选一区_免费女人裸体视频无遮挡免费网站 | ww.久久_亚洲最大的免费观影网站_国产女大学生av_极品熟女一区二区三区_久久久久成人精品无码_97se狠狠狠狼鲁亚洲综合网 | 亚洲美女视频在线_国产精品_卡2卡三卡4卡_亚洲欧美婷婷_免费人成黄页网站在线一区二区_欧美岛国国产_免费国产黄色片 | 免费看含羞草AV片成人_国产激情一区二区三区四区_爱久久视频_狠狠干一区二区_一道本一区二区_日日夜夜精品 | 日本精品在线免费观看网址_亚州国产AV一区二区三区伊在_91视频看片_久久人妻无码一区二区三区AV_国产爽的冒白浆的视频_狠狠躁夜夜躁人人爽天天30人 曰欧一片内射vα在线影院_少妇和教练在车里激情_精品视频久久久久_国产又黄又爽无遮挡不要VIP_久久久久亚洲AV无码专区网站_精品久久97 | 久草视频在线看_国产精品99久久久久_国产剧情亚洲_四虎在线观看网址_国产字幕在线观看_中国一级大黄大黄大色毛片 | 国产精品不卡视频_小受咬床单失禁的GV在线观看_好男人网官网在线观看2019_国产成人av一区二区三区在线_免费的成人A级毛片_av毛片免费 | 一区二区在线观看视频_18禁免费羞羞视频无码网站_成人18视频在线观看_久久久久国色av免费观看性色_国精品自拍_成全视成人免费观看在线看 | 国产成人AV三级在线观看按摩_国产美女性生活_国产精品无圣光_精品久久久久久久大神国产_亚洲夂夂婷婷色拍WW47_毛片软件 | 美女免费精品高清毛片在线视_黄色影视大全_国产免费传媒av片在线_丰满熟妇岳av无码区_亚洲三级成人_亚洲精品视频91 | 久草爱视频_久久久噜噜噜久久中文字幕色伊伊_女人高潮抽搐流白浆视频_99精品老司机免费视频_久久亚洲精品无码AV_a一区二区 | 国产精品对白交换绿帽视频_av中文在线观看_色偷偷综合网_黄色av网址在线观看_欧美黑人体内she精在线观看_久久福利国产 | 性色AV无码专区一ⅤA亚洲_精品人妻无码一区二区三区绿_中文字幕在线精品视频入口一区_国产成人免费9x9x人网站视频_超碰成人福利_久久草精品 | 开心婷婷激激情av_日韩激情网站_成人福利视频在线观看免费_无码少妇精品一区二区免费_深夜A级毛片免费视频_在线观看一区二区三区视频 | 伊伊人成亚洲综合人网香_91视频天堂_久久avav_青草青视频在线观看_国产精品一区二区无码视频公司_日韩亚洲AV无码一区二区不卡 | 熟女乱牛牛视频在线观看_国产成人精品午夜视频免费_亚洲精品美女网站_亚洲一区二区三区无码_欧美精品aaaa_国产精品久久777 | 久久久久久免费免费精品软件_加勒比婷婷色综合久久_久久密月_国产一区二区美女视频_av制服丝袜诱惑天堂_日韩精品成人 | 亚洲精品久久久久中文第一暮_老子午夜理论影院理论_免费看黄在线网站_制服丝袜自拍偷拍_日韩美女激情_强壮公的侵犯让我次次高潮 | 欧美99久久精品乱码影视_免费欧洲毛片A级视频老妇女_亚洲成人影音_一线毛片_欧美精品综合在线_多毛熟女hdvidos | 国产艹逼_久久最新精品视频_久久久久久久久久久久一区二区_亚洲爆乳精品无码AAA片_日韩不卡免费视频_在线日本中文字幕 | 91国视频在线_亚洲av极品视觉盛宴_福利午夜少妇波多野结衣_在线观看日本中文字幕_宅女噜噜66国产精品观看免费_青青草免费视频在线播放 | 午夜视频久久久久一区_亚洲精品久久久久综合_aaa日本_国产日韩AⅤ无码一区二区三区_精品h视频_国产精品吹潮在线观看中文 | 9lporm自拍视频区_色婷婷成人网_国产精品入口尤物_香港毛片基地_91精品无码久久久久久久久_亚洲日韩av在线观看 | 中文字幕三区四区_日韩精品成人一区二区三区视频_xxx成人精品一区二区_欧美mv日韩mv国产网站_91久久人人夜色一区二区_av日韩精品 | 国产日韩在线观看一区_最新的国产成人精品2021_国产高清视频在线观看_伊人久久一区二区三区小说_影音先锋在线资源中文字幕_果冻传媒精选一区二区 | 国内外成人免费视频_久久免费大视频_夜夜女人国产香蕉久久精品_国产东北露脸熟妇_a级片久久_成人免费视频91 | 紧身裙女教师波多野结衣在线观看_久久亚洲私人国产精品_天天都色视频_日韩精品视_九九av在线_国产大片一区二区 | 亚洲va欧美va人人爽春色影视_少妇被粗大的猛进出69影院_亚洲真人无码永久在线观看_亚洲一二_av黄色免费在线观看_国产性×xxx盗摄xxxx | 国产欧美一区二区三区在线播放_青青草成人免费在线视频_久久午夜夜伦鲁鲁片无码免费_国产白嫩护士被弄高潮_91在线精品视频_小箩莉末发育娇小性色XXXX | 欧美性妇bbb洗澡_日韩精品中文字幕在线视频_午夜视频大全_亚洲色精品aⅴ一区区三区_在线精品国产_国产第一页无线好源 |