我试图从软件SDK中获取一个提供的DLL文件并创建一个python包装器,以便将其与我的代码库的其余部分集成。我在网上看了不少指南,还是没找到。在

我现在的Python代码是:from ctypes import *

from ctypes.wintypes import HWND

import os

class OptistarDLL(object):

dll_path = 'OSDS142MRT.dll'

with open(dll_path) as thefile:

pass

_dll = WinDLL(dll_path)

init_library = _dll['OSDS142M_Initialize']

init_library.restype = c_int

init_library.argtypes = (c_int, c_bool, HWND, c_bool, c_int)

class OpticstarControl(object):

def __init__(self):

err = OptistarDLL.init_library(c_int(0), c_bool(False), HWND(0), c_bool(False), c_int(0))

if err != 0:

raise Exception("Doom")

我使用的SDK文档将此作为函数的头:

^{pr2}$

PDF示例给出:OSDS142M_Initialize(1, false, 0, true, 0);

初始化目前只得到我ValueError: Procedure probably called with too many arguments (20 bytes in excess)

我读过WinDLLvsCDLL,当我改为CDLL时,加载DLL失败。我也在所有的指南中看到,它们的标题有DLLEXPORT,我的有{},我不知道这是否是一个问题。在

有人有什么想法吗?在

python 如何封装dll_如何为DLL库创建Python包装器相关推荐

  1. python sip模块(为C和C++库创建Python绑定)

    Python的一个特性是,它具有强大的功能,它能够使用C或C++编写的现有库,并使它们成为Python扩展模块.这种扩展模块通常被称为库的绑定. SIP是一种工具,它可以很容易地为C和C++库创建Py ...

  2. python如何封装成可调用的库_Python实现打包成库供别的模块调用

    1.创建python项目bricewulib 2.新建test_package包并创建info1类以及print_hello方法 3.为了让包的结构再复杂点,我们再在test_package下面新建一 ...

  3. math库是python语言的数学模块吗_math库是python语言的数学模块。

    [单选题]for i in range(10): ...... 中 ,i的循环终值是 (). [简答题]人生观的主要内容 [填空题]下面程序的运行结果是( ). b, c=2, 4 def g_fun ...

  4. python turtle 画老鼠_通过Turtle库在Python中绘制一个鼠年福鼠

    turtle库是一个很经典的绘图库,其最初来自于1967年创造的logo编程语言,之后被Python编写放到了Python的内置模块中.网络上有很多借助于turtle绘制精美图像的案例.比如小猪佩奇. ...

  5. python使用什么关键字来定义,使用( )关键字来创建python自定义函数。

    相关题目与解析 使用下列哪种关键字来创建Python自定义函数? 使用()关键字创建自定义函数 使用()关键字创建自定义函数. Python中定义函数关键字为(). python中定义函数的关键字是( ...

  6. python如何封装成可调用的库_在python中如何以异步的方式调用第三方库提供的同步API...

    在关于asyncio的基本用法中提到,asyncio并不是多线程.在协程中调用同步(阻塞函数),都占用同一线程的CPU时间,即当前线程会被阻塞(即协程只会在等待一个协程时可能出让CPU,如果是普通函数 ...

  7. python 调用opencv dll_【问题已解决】python 3.6下安装opencv-python解决cv2 DLL load failed: 找不到指定的模块问题...

    1.首先下载安装对应Python版本的opencv-python:https://pypi.org/project/opencv-python/#files 我这里下载的是:opencv_python ...

  8. python可以封装成独立程序吗_windows环境下把Python代码打包成独立执行的exe

    有时候因为出差,突然急需处理一批数据.虽然写好的脚本存储在云端随用随取,然而编译的环境还需要重新搭建,模块也需要重新装载,从头到尾这么一遍下来,也是要花费可观的时间成本的. 有没有什么办法,可以让.p ...

  9. Linux C++与Python混合编程(g++生成链接库与python调用)

    gcc/g++ 链接库的编译与链接 这一篇对动态链接库和静态链接库以及编译结果讲得很清楚,目前看到最好的. Linux下Python与C++混合编程

最新文章

  1. [数据结构] 时间复杂度计算
  2. git 使用详解(5)—— get log 查看提交历史
  3. python爬虫能干什么-Python爬虫可以做什么?
  4. Rest Framework:序列化组件
  5. 在Google Cloud Platform的K8上运行Fn函数
  6. C++ 构造函数分类以及调用
  7. 设计模式---3(工厂方法模式的概念,工厂方法模式的实现,工厂方法模式和简单工厂模式比较)
  8. transform的q、k、v的计算过程
  9. jdbc连接本机oracle卡死,Oracle JDBC 连接卡死后 Connection Reset解决过程
  10. 1799元!OPPO A9悄然上架:4月30日正式开售
  11. 刀片存储助力发挥融合基础架构优势
  12. 从0到1手写分布式对象存储系统-05纠删码与数据修复
  13. Java开发工程师的工作内容包含哪些?
  14. ArcGIS Server 10.8.1安装
  15. 【数据库】数据库入门(五): 实体关系模型 (Entity-Relationship Model)
  16. 惠普暗影精灵4pro安装ubuntu16.04
  17. proftpd java_基于 proftpd 配置加密 FTP
  18. 图像预处理库CV-CUDA开源了,打破预处理瓶颈,提升推理吞吐量20多倍
  19. Java实现 LeetCode 564 寻找最近的回文数(今天要GG在这道题了 头晕+题难(((φ(◎ロ◎;)φ))))...
  20. 产品经理基础——需求文档

热门文章

  1. mydumper 0.6.2 安装,dba的必备备份工具,必须掌握
  2. iOS沙盒路径及路径下数据的存储和读取
  3. Python3 登陆网页并保持cookie
  4. HTML基础笔记-02
  5. @ResponseBody 乱码
  6. FCKeditor的使用说明
  7. 话里话外:浅淡对流程管理的认识及流程管理对企业价值
  8. Zookeeper原生客户端
  9. awakeFromNib方法和viewDidLoad方法区别
  10. [HNOI2008 GT考试]