Dus*_*rea 1 c python windows ctypes glibc
我有一个基于ctypes的库,它包装了一个C库,有时会分配需要释放的内存.在Linux下这很容易,因为常见的glibc功能已链接到该C库中,我可以简单地调用free()它.但是,当我在Windows下访问第三方编译的库时,看起来无法使用相同的功能.
ctypes.util.find_msvcrt()看起来很有希望,但即使我在Windows下运行,它也会返回None.我不确定这是否意味着源DLL是使用Microsoft工具链之外的其他东西构建的.
所以,我留下的记忆是自由的,没有明显的,简单的方法来做到这一点.有没有人有任何想法?
使用MSVCRT时,您需要确保使用相同CRT中的相同 free/malloc对(可以让您的程序运行多个CRT).您正在处理的库似乎已损坏 - 库应该有一个free包装器,它会调用正确的版本free.
换句话说,即使您确实设法找到某种MSVCRT free,也无法保证它是您想要的那种.
另见http://siomsystems.com/mixing-visual-studio-versions/
| 归档时间: |
|
| 查看次数: |
320 次 |
| 最近记录: |