VC驿站

 找回密码
 加入驿站

QQ登录

只需一步,快速开始

搜索
查看: 168|回复: 5

关于WinMain的参数说明

[复制链接]
04_avatar_middle
最佳答案
0 
在线会员 发表于 2020-7-15 18:23:08 | 显示全部楼层 |阅读模式
本帖最后由 Hello2020 于 2020-7-15 19:23 编辑

WinMain的通常使用方式:
  1. int WINAPI WinMain(
  2. HINSTANCE hInstance,
  3. HINSTANCE hPrevInstance,
  4. PWSTR pCmdLine,
  5. 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等宏命令,如下
  1. WinMain(
  2.     __in HINSTANCE hInstance,
  3.     __in_opt HINSTANCE hPrevInstance,
  4.     __in_opt LPSTR lpCmdLine,
  5.     __in int nShowCmd )
复制代码

PS:其他Windows API也有这样的宏命令:__in, __in_opt等,如
  1. ShellExecuteExA(_Inout_ SHELLEXECUTEINFOA *pExecInfo);
复制代码


请大佬解释一下诸如__in、__in_opt、_Inout_等的作用/含义




上一篇:大家好 为啥都报错了
下一篇:X64下 VS2015的内联汇编问题
08_avatar_middle
最佳答案
3 
在线会员 发表于 2020-7-15 19:06:45 | 显示全部楼层
本帖最后由 SummerGull 于 2020-7-15 19:16 编辑

WIMAPI是内平衡。C语言一般标准函数是 外平衡
右键 转到/查看 定义 显示为:
  1. #elif (_MSC_VER >= 800) || defined(_STDCALL_SUPPORTED)
  2. #define CALLBACK    __stdcall
  3. #define WINAPI      __stdcall
  4. #define WINAPIV     __cdecl
  5. #define APIENTRY    WINAPI
  6. #define APIPRIVATE  __stdcall
  7. #define PASCAL      __stdcall
复制代码

https://blog.csdn.net/luoweifu/article/details/52425733
这是 堆栈协议参考资料
这是 别人的提问  有关 __IN__ https://bbs.csdn.net/topics/360085670

点评

https://bbs.csdn.net/topics/360085670----这是别人的提问。其实遇到不知道的 宏定义 我们 可以去 “右键 转到/查看 定义”  发表于 2020-7-15 19:14
你所说的 __in__应该对应还会有 __out__。我记得之前看过滴水的教程。 海哥 也有写过。没作用 就是给人看的。  发表于 2020-7-15 19:09
04_avatar_middle
最佳答案
0 
ico_lz  楼主| 发表于 2020-7-15 19:25:11 | 显示全部楼层
本帖最后由 Hello2020 于 2020-7-15 19:26 编辑
SummerGull 发表于 2020-7-15 19:06
WIMAPI是内平衡。C语言一般标准函数是 外平衡
右键 转到/查看 定义 显示为:


OK,谢谢不尽,我看里面宏的定义好复杂,看不懂关于WinMain的参数说明
08_avatar_middle
最佳答案
3 
在线会员 发表于 2020-7-15 19:34:58 | 显示全部楼层
Hello2020 发表于 2020-7-15 19:25
OK,谢谢不尽,我看里面宏的定义好复杂,看不懂

兄弟 难受的不止你一个。有些简单的 下次 右键查看定义即可 不懂的 该查就查,该问就问。
您需要登录后才可以回帖 登录 | 加入驿站 qq_login

本版积分规则

×【发帖 友情提示】
1、请回复有意义的内容,请勿恶意灌水;
2、纯数字、字母、表情等无意义的内容系统将自动删除;
3、若正常回复后帖子被自动删除,为系统误删的情况,请重新回复其他正常内容或等待管理员审核通过后会自动发布;
4、感谢您对VC驿站一如既往的支持,谢谢合作!

关闭

站长提醒上一条 /2 下一条

QQ|小黑屋|手机版|VC驿站 ( 辽ICP备09019393号 )|网站地图wx_jqr

GMT+8, 2020-8-6 05:29

Powered by CcTry.CoM

© 2009-2020 cctry.com

快速回复 返回顶部 返回列表