范文健康探索娱乐情感热点
投稿投诉
热点动态
科技财经
情感日志
励志美文
娱乐时尚
游戏搞笑
探索旅游
历史星座
健康养生
美丽育儿
范文作文
教案论文
国学影视

Python实战014解决DLL动态链接库调用时遇到的问题

  最近有个项目需要希望可以采集华中数控系统的智能主轴负载并在WEB前端以波动图来展示负载数据,这里我打算利用Vue+Echarts来构建WEB前端展示、Python+Django来搭建WEB后台服务、由于是实时刷新数据所以这里利用WebSocket来实现数据交互、最后就是实现华中数控的数据采集。华中提供了DLL可以用来调用,所以这里我们需要在python中来引入DLL文件。
  ctypes库
  Python调用DLL需要依赖一个外部函数库ctypes,虽然是外部函数库但却已在Python内置了所以不需要单独安装。它提供了与 C 兼容的数据类型并允许调用 DLL 或共享库中的函数,通过ctypes可以很方便地调用DLL中输出的接口函数。
  DLL调用方式
  为什么ctypes提供了这么多种dll调用方式,因为dll在导出函数时可以声明调用约定(stdcall或者cdecl),不同的约定方式导出的函数名也是不同的所以Python加载时也提供了相应的加载函数。如果约定stdcall调用一般采用windll.LoadLibrary或者WinDLL方式调用,如果约定cdecl调用一般采用cdll.LoadLibrary或者CDLL调用(windll和cdll分别是WinDLL类和CDll类的对象)。from ctypes import * # import ctypes # ---------- ctypes调用dll的几种方式 ----------- # dll = windll.LoadLibrary(r"./ncdevs.dll") # dll = cdll.LoadLibrary("./ncdevs.dll") # dll = WinDLL("./ncdevs.dll") # dll = CDLL("./ncdevs.dll")OSError: [WinError 126] 找不到指定的模块
  在python调用dll的时候遇到错误:OSError: [WinError 126] 找不到指定的模块,这个问题大多数都是缺少了dll或者没有正确地引入dll。特别是当引入的dll还依赖于其它的dll时,依赖的dll也要能被Python访问到。# 调用同目录下的模块,如:father/myself/test.py import test 或 from test import * # 调用同级目录下的模块,如:father/brother/test.py import brother.test 或 from brother.test import * # 调用子目录下的模块,子目录必须要有 __init__.py文件。如:django/myself/child/test.py import myself.child.test 或 from myself.child.test import * # 调用上级目录下的模块,如:father/myself/test.py import father.demo 或者 from  father.demo import *OSError: [WinError 193] %1 不是有效的 Win32 应用程序
  这个问题应该是因为程序当前的编辑运行环境不匹配, 因为64位的python.exe只能调用64位的DLL,32位的python.exe 只能调用32位的DLL。如果你用64位环境下的python调用32位的DLL文件肯定是不行的,要保证环境一致(这里我的python是64位的,可是我编译的dll默认是32位的)。本来还想着把dll编译成64位的呢,结果华中提供的dll也是是32位的编译直接报错:warning LNK4272: 库计算机类型"x86"与目标计算机类型"x64"冲突(只能安装个32位的Python先了)。
  总结:
  华中数控提供了C/C++、C#两种二次开发用到的API函数,Python没法直接调用这些API。所以这我还需要用C/C++调用类库中的方法将函数重新封装下,然后再交给Python来处理。以上内容是小编给大家分享的【Python实战014:解决DLL动态链接库调用时遇到的问题】。希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。

隐藏在北美的一种食肉植物,专吃不能为它授粉的小昆虫在北美西海岸的湿地,从阿拉斯加到加利福尼亚州,生活着一种草本植物,人们刚刚惊奇的发现这种植物偶尔也会吃肉。上图北喀斯喀特国家公园里,食肉的Trianthaoccidentalis将这颗超新星弹片飞得如此之快,即将离开我们的银河系这个被我们称为LP40365的宇宙物体,到目前为止被认为是一颗恒星,但它实际上并不是一颗恒星。或者更确切地说,它不是一个完整的。现在,天文学家已经确定这是一块恒星的碎片,是一颗质量土星环上的涟漪告诉我们土星的内核巨大且松散根据一项新的研究,土星可能有一个模糊的核心。上图这是2006年卡西尼号拍摄的一张土星光环被太阳照亮的背光合成照片。最近,一组天体物理学家研究了卡西尼号宇宙飞船在土星上巡视的数据,重三星公司首个尝鲜人工智能将改变芯片的设计制造方式据悉,三星公司正在利用人工智能,将设计尖端电脑芯片这一极其复杂和微妙的过程自动化。这家韩国巨头是最早使用人工智能制造芯片的芯片制造商之一。三星正在Synopsys的新软件中使用AI科学家通过移植年轻小鼠的粪便,逆转了老年小鼠大脑的衰老1895年,埃利梅契尼可夫(ElieMetchnikoff)50岁了,他对衰老越来越感到焦虑。因此,这位获得诺贝尔奖的俄罗斯科学家,免疫学的创始人之一,将他的注意力从免疫学转向了他物理学家发现了光碰撞产生物质的最有力证据根据理论,如果你把两个光子狠狠地撞在一起,你就能产生物质电子正电子对。根据爱因斯坦的狭义相对论,光转化为质量。它被称为布雷特惠勒(BreitWheeler)过程,由GregoryB科学家们利用算法在传统硬件上成功模拟了量子计算机在追求真正的量子霸权的背景下,隐藏着一种尴尬的可能性基于量子诡计的超快速数字运算任务可能只是一种炒作。现在,来自瑞士洛桑联邦理工学院(EPFL)和美国哥伦比亚大学的两位物理学家提出有史以来最高的火箭SpaceX的星际飞船系统组装完成这个令人印象深刻的火箭系统将在今年晚些时候进行轨道测试飞行。今天早些时候,SpaceX公司的工程师们小心翼翼地将火箭系统的第二级一枚星际飞船(Starship)SN20组装到了一个国家点火装置(NIF)的物理学家实现了历史性的核聚变突破本周二,来自美国加州的国家点火装置(NationalIgnitionFacility)的核科学家们表示,他们利用了三个足球场大小的激光来进行核聚变实验,目前,他们已经成功地从聚变中动物的出现,可能比以前认为的要早数亿年根据最广为接受的理论,进化生物学家断言,地球上的生命大约始于40亿年前,从单细胞细菌开始,逐渐让位于更复杂的有机体。根据同样的进化时间表,第一批复杂的生物出现在新元古代(大约8亿年中东地区DNA的研究揭示了该地域复杂的人类历史研究人员发现,该地区的人们并没有与尼安德特人混在一起,并且由于气候变化而遭遇人口瓶颈。一组遗传学家对来自中东的137个现代人基因组进行了测序,为人类如何到达该地区以及这些人口如何随
iPhone13发布亿色科技配套黑科技爆款无线充近日的苹果新品发布会中,iPhone13的发布意味着iPhone迈入了新台阶,引发业界全面关注。在众人最为关注的充电环节上,观察发现苹果进一步贯彻了Magsafe无线充电的策略,这realme真我GTNeo2正式亮相发布,小米,iQOO压力顿增realme再发新品,以强大回敬热爱。一年一度的苹果秋季发布会过后,引起了业内一阵换机潮,各家手机厂商纷纷开启大招,9月22日更是多家手机厂商扎堆发布新品,其中,作为后起之秀的re急不可耐,小米发布元宇宙入场券柯南眼镜,资本市场下的产物三线发烧友,吃瓜在一线。小米发布PPT智能眼镜,入局元宇宙。2021年9月14日,小米手机官方在社交平台上发文宣布了新品小米智能眼镜探索版。该款智能眼镜将采用MicroLED光波导2021年最新前十名手机排行榜来了,小米排名第一一晃眼,2021年已经快接近年底了,回头来看,今年厂商们出的新手机可谓数不胜数,如果最近有购买手机需求的,不妨看看最近前十名的手机有哪些,或许总有一款让你满意,毕竟是大多人的选择。都2021年了,手机输入法还能玩出花来?科技时代的进步,往往伴随着一系列产品的更新升级,而总有一些是我们经常使用到,却时常忽略掉的,它就是手机输入法。也许你会说,不就是一个手机输入法嘛,它除了打字还能做什么?现在,根据百面对日本的监管调查,苹果公司宣布妥协,收费变免费美国当地时间9月1日,苹果官方发布新闻稿表示,它将允许Netflix等应用程序的开发商将其内容链接到外部网站上,以便用户进行消费活动。这意味,苹果将不再对阅读类媒体类App提供的付国产二代折叠屏手机,次年降幅超3000元,已跌至iPhone价三线发烧友,吃瓜在一线近日,发烧友调查发现,柔宇第二代折叠屏手机FlexPai2价格已降至5999元(8GB256GB)。与去年9888元的首发价相比,价格降幅高达3889元。目前荣耀畅玩20Pro开售,售价1699元,6400万超清四摄不负期待国庆将临,很多朋友都准备趁此机会换新机。9月17日发布即开售的荣耀畅玩20Pro,凭借超清影像超级快充纤薄机身OLED真彩屏,以及极具竞争力的价格,一经上市就收获了不小的关注。作为荣耀智慧屏放弃牛皮癣,对标国际大厂,价格却依然亲民随着智能手机的深入,传统家电产品也迎来了翻天覆地的变化,在带给人们全新的智能型体验的同时,也带来了互联网中不良风气广告。十几秒的开屏广告,也许是人们度过的最漫长时间段,它不能跳过,8天线8条流WiFi6,3200M年度穿墙王碾压贴牌手机厂工欲善其事,必先利其器。数字化时代,万物互联已是大势所趋,然而目前不少用户依然烦恼于数据网络的传输效率上,认为基础网络的建设已难以满足日益增长的互联网娱乐与工作需求,有没有想过其实中国茶的未来在哪里?杜国楹未来市场是多元化的优质的生态茶园,精细的生产工艺,严格的品控管理多年来,小罐茶坚持在品质上做加法,在消费者体验上做减法,这听起来似乎很简单,但对于每一个曾被茶困扰的茶企来说,小罐茶,打开了一扇全新的