我正在使用Windows API,其功能名称以32位dll(例如_FunctionName)中的下划线开头,但不是64位版本(例如FunctionName)。
我正在使用与此类似的代码来加载和调用64位版本的函数:
dll = windll.LoadLibrary('library.dll')
dll['FunctionName']()
但是,我发现我也可以使用相同的代码来调用32位函数,即使它们以下划线开头。我甚至可以在函数名称之前加上下划线之外的东西,它仍然可以解析。如果我完全更改了名称,那么它将无法按预期解决。
我想避免使用不同的方法在64位和32位平台上调用这些函数,这似乎有效。但是,我找不到有关此行为的任何文档。任何人都可以确认行为或提供文件吗?