问题标签 [pyd]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
python - 通过 SWIG 和 Python 从第三方 .dll 共享库访问函数
我从第三方获得了一个 DLL 连同他的 .lib 和 .h 文件(假设这些文件是:“test.dll”、“test.lib”和“test.h”)
这个交付的 DLL 包含一些我应该从 Python 脚本访问它们的函数。为此,我必须使用 SWIG 和 MSVC2010 构建一个扩展 (.pyd)。(我将第三方文件复制到 MSVC 项目的目录中)
为了对“test.h”文件有一个概述,它是这样的(为了简单起见,我只放了一个函数,“CreateFile()”,它返回一个文件句柄):
我打算创建一个类来包装那些第三方函数(在“test.dll”库中实现)。“myInterface.h”文件如下所示:
...以及该类的实现,我将其放入“myInterface.cxx”文件中:
要使用 SWIG,我必须将以下 SWIG 接口文件 .i 添加到 MSVC 项目中:
在 MSVC 项目中,在这个 .i 文件的“属性”中,我输入了“自定义构建工具”->“命令行”,如下:
好的!当我尝试构建 PYD 扩展时,我遇到了这个错误:
...但是“test.h”文件没有任何问题。我使用相同的文件(没有任何修改)来实现与经典 DLL 相同的 C++ 包装类,并且效果很好。
项目规格:
有人可以帮我吗?任何想法将不胜感激!
谢谢!
python - 从交互式 shell 调用 d 代码
我需要一个交互式环境,我可以在其中使用良好的脚本语言和体面的科学绘图库(例如 python)即时调用 d 函数。
有没有办法从 shell(Ipython 或类似的)调用 d 函数?我查看了 pyd ,但它似乎已经过时了。
python - 对 .pyd 文件进行逆向工程有多难?
阅读后如何保护 Python 代码?,我决定在 Windows 上尝试一个非常简单的扩展模块。我之前在 Linux 上编译过自己的扩展模块,但这是我第一次在 Windows 上编译。我期待得到一个 .dll 文件,但我得到了一个 .pyd 文件。Docs说它们是一样的,但它必须有一个init[insert-module-name]()
功能。
可以安全地假设,对它们进行逆向工程就像对 dll 文件一样困难。如果不是,从 .pyc 文件到 .dll 文件的逆向工程难度如何?
python - 在 python 2.6 解决方案中包含 DES.pyd 时出错
我已经在我的 Windows 7 x64 系统上安装了 Python 2.7,并编译并内置了 PyCrypto 2.5。在我的安装路径中,D:\Python27\Lib\site-packages\Crypto\Cipher
我看到了DES.pyd
. 我已经用dependency walker打开了它,并确保它initDES
是唯一的出口。
我想做的是复制/粘贴DES.pyd
它,因为它已经构建并在我的代码中使用它。所以现在我的项目文件夹D:\project
包含test.py
和DES.pyd
.
test.py
包含代码:
运行时test.py
,我收到以下错误:
这个练习的目的是能够发送DES.pyd
和发送test.py
给我的朋友,而不需要他们构建和安装 pycrypto(一个 PITA)。我完全理解我上面的代码完全不涉及 DES,它无法导入它的事实是我的主要好奇心。接下来是使用 DES 的真实代码。
DES.pyd
另外,如果我直接从 python 路径导入from Crypto.Cipher import DES
就好了。
谢谢!
python - 在python2.7上运行用python2.6编译的pyd
我有一个用 python26.dll 编译的 python pyd 模块(它的'msparser' by matrixscience,一个与一些质谱数据格式接口的库)。可以在带有 activestate python 2.7 的 Windows 上使用这个 pyd 模块。但是,在通用安装中,它会抛出 ImportError: DLL load failed... 因为缺少 python26.dll。
那么,对于在更高版本的 python 上导入用早期版本的 python 编译的 pyd 有什么建议吗?Activestate 以某种方式实现了这一点,所以我想它必须是可能的。
c++ - 卸载 PYD (python + c++) 模块时调用函数
当我加载 PYD 和卸载它时,我需要运行一些额外的功能,因为 c++ 核心使用了一个用另一种语言编写的模块,并且这个模块需要手动加载和卸载。
我在 initMY_PYD_NAME(void) 中调用 load_another_language_module() 并且它工作正常。
当我的 PYD 被卸载时,是否会有类似的功能让我实现?我可以包装 unload_another_language_module() 以便它可以在 Python 中运行并手动调用每个脚本,但这并不是非常方便。
提前致谢!
python - 在 Jython 中使用 .pyd 库
实际上我即将开始一个项目,在公司我们使用java作为owr web app server(IBM WebSpher)的主要技术,但现在我们需要将现有技术与最近购买并用C开发的新产品集成/CPython 并在 C 中提供 SDK 并在 CPython(.pyd 文件)中实现,现在我想知道 jython 是否支持这种库,实际上我正在使用 Jython 2.7b1?或者有没有办法使用这些库?
谢谢和问候, Serch
python - [在 Windows 下] 编译后使用 cython 扩展,如何使用 .pyd?
我习惯于使用 Cython 在 Linux 下编译自制的 python 扩展。在 Linux 上,我使用 distutils 生成一个“myext.so”,然后我可以简单地将其添加到我的PYTHONPATH
并获取import myext
可用的 python 调用。
现在,我正试图让它在 Windows 7 下工作(使用 Cython 0.18)。我成功地运行了 distutils 以便我现在得到一个myext.pyd
文件。但似乎(http://docs.python.org/2/faq/windows.html#is-a-pyd-file-the-same-as-a-dll)将路径添加到“myext.pyd” windows下还不够。“myext.py”应该是什么样子,或者换句话说,在我的 Python (2.7) 安装中获取我的扩展的过程是什么。
注意:将包含“myext.pyd”的目录添加到 PYTHONPATH 后,我仍然得到:
非常感谢。
python - py2exe not include automatically all *.pyd created with Cython
when creating pyd with Cpython, and want to create exe with py2exe, py2exe cannot gather all of them an their dependencies, so one forced to include them manually, anyone can help?
c - 在 Windows 上编译 pyd 文件但“此程序无法在 DOS 模式下运行”。
我在 Windows 上用 gcc 编译了一个 C 文件并成功获得了 pyd 文件。令我惊讶的是,它以十六进制显示“此程序无法在 DOS 模式下运行”。虽然我仍然可以从中调用函数,但程序很快就崩溃了,这是由 libjpeg 库中的 jpeg_read_header() 引起的。
我的问题是到底是什么让我的程序崩溃了。
以下是我的猜测:
jpeg_read_header() :我尝试了 jpeg_mem_src() 和 jpeg_stdio_src() 但它仍然崩溃。
/li>pyd文件:不能在DOS模式下运行?