我试图通过使用 ctypes python 库读取 Windows 中的 dll 来访问 InterLockedExchange 函数。我更广泛的目标是在不同服务中使用 mmap 时实现原子操作。问题是我找不到这个功能
import ctypes
dll_path = 'C:\Windows\System32\kernel32.dll'
kernel32 = ctypes.CDLL(dll_path)
interlocked_exchange = kernel32.InterlockedExchange
属性错误:找不到函数“InterlockedExchange”
InterlockedExchange
是编译器的内部函数,不通过 DLL 函数公开。 请参阅文档链接的备注部分:
此函数是使用编译器内部函数实现的,其中 可能的。有关详细信息,请参阅 WinBase.h 头文件和 _InterlockedExchange.