栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 面试经验 > 面试问答

使用ctypes windll卸载64位dll时出错

面试问答 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

使用ctypes windll卸载64位dll时出错

FreeLibrary
需要一个句柄,定义为C
void*
指针。请参阅Windows数据类型。在函数指针的中设置
argtypes

import ctypesfrom ctypes import wintypeskernel32 = ctypes.WinDLL('kernel32', use_last_error=True)    kernel32.FreeLibrary.argtypes = [wintypes.HMODULE]

一个Python的预设转换

int
long
(改名
int
在Python 3)是一个C
long
,其随后转换为一个C
int
。微软
long
甚至在64位Windows上也使用32位,这就是为什么要转换的原因
OverflowError

在具有64位

long
(即几乎所有其他所有64位OS)的平台上,将指针作为Python整数传递而未定义该函数的指针
argtypes
实际上可能会隔离该过程。到的初始转换
long
效果很好,因为它的大小与指针的大小相同。但是,随后强制转换为32位C
int
可能会静默截断该值。



转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/470532.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号