用于ARM的
Windows 8(也称为
Windows RT)是否具有相当于Win32 API的?
(我不是说如果它可以运行Win32 x86代码,但如果它有Win32 API可用于第三方开发人员.)
是的,ARM版本将支持与x86和x64构建相同的API,可能在体系结构特定的东西如异常处理方面有一些微小的差异.
例如,以下是msvcrt110.dll的ARM版本从kernel32导入的API列表:
- Setting environment for using Microsoft Visual Studio 2010 x86 tools.
- Microsoft (R) COFF/PE Dumper Version 10.00.40219.01
- Copyright (C) Microsoft Corporation. All rights reserved.
- Dump of file arm_msvcr110d_win8.pe
- File Type: DLL
- Section contains the following imports:
- KERNEL32.dll
- 100E4000 Import Address Table
- 1012DA80 Import Name Table
- 0 time date stamp
- 0 Index of first forwarder reference
- 108 DecodePointer
- 12E EncodePointer
- 498 RtlPcToFileHeader
- 425 RaiseException
- 269 GetModuleFileNameA
- 26A GetModuleFileNameW
- 1AA FreeEnvironmentStringsW
- 26D GetModuleHandleExW
- 2A1 GetProcAddress
- 160 ExitProcess
- 3C7 MultiByteToWideChar
- 258 GetLastError
- 26E GetModuleHandleW
- 2C4 GetStdHandle
- 5C1 WriteFile
- 1D3 GetCommandLineA
- 1D4 GetCommandLineW
- 19D FlsGetValue
- 19E FlsSetValue
- 21A GetCurrentThreadId
- [...]
- 4B1 SetConsoleCtrlHandler
- 361 IsDebuggerPresent
- 2F7 GetTickCount64
- 3F0 OutputDebugStringA
- 38C LCMapStringA
- 232 GetEnvironmentVariableA
- 233 GetEnvironmentVariableW
- 36E IsValidLocaleName
- 38D LCMapStringEx
- 339 HeapReAlloc
- 33B HeapSize
- 338 HeapQueryInformation
你可以看到,所有的都是标准的Win32的东西.
参见http://getwired.com/2011/09/20/win32-the-reports-of-my-death-are-greatly-exaggerated/