|
本帖最后由 Hello2020 于 2020-7-15 19:23 编辑
WinMain的通常使用方式:
- int WINAPI WinMain(
- HINSTANCE hInstance,
- HINSTANCE hPrevInstance,
- PWSTR pCmdLine,
- int nCmdShow);
复制代码
注:WINAPI是编译/调用约定,已经清楚
在VS2019中,使用上述声明时将显示如下警告:
严重性 代码 说明 项目 文件 行 禁止显示状态
警告 C28251 “WinMain”的批注不一致: 此实例包含 无批注。请参见 c:\program files (x86)\windows kits\10\include\10.0.18362.0\um\winbase.h(933)。 App E:\PROJECT\WIN\APP\APPTEST.CPP 12
查看WinMain所在头文件,发现参数前还有__in、__in_opt等宏命令,如下
- WinMain(
- __in HINSTANCE hInstance,
- __in_opt HINSTANCE hPrevInstance,
- __in_opt LPSTR lpCmdLine,
- __in int nShowCmd )
复制代码
PS:其他Windows API也有这样的宏命令:__in, __in_opt等,如
- ShellExecuteExA(_Inout_ SHELLEXECUTEINFOA *pExecInfo);
复制代码
请大佬解释一下诸如__in、__in_opt、_Inout_等的作用/含义 |
上一篇: 大家好 为啥都报错了下一篇: X64下 VS2015的内联汇编问题
|