【问题标题】:Meaning of WinMain function call parameters?WinMain函数调用参数的含义?
【发布时间】:2015-05-01 14:41:16
【问题描述】:
 int WINAPI WinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR pScmdline, int iCmdshow)

在这一行中,这些关于调用参数的陈述是否正确?

HINSTANCE 是一个类,hInstance 和 hPrevInstance 是对象,PSTR 是一个类,pScmdline 是一个对象,int 是一个类,而 iCmdshow 是一个对象?

【问题讨论】:

    标签: c++ directx


    【解决方案1】:

    HINSTANCEvoid * 不是一个类,int 也不是一个类。它们是类型。

    有关这些类型的定义,请参阅此链接。

    https://msdn.microsoft.com/en-us/library/windows/desktop/aa383751%28v=vs.85%29.aspx

    【讨论】:

    • IIRC,定义STRICT 将导致每个H____ 成为自己独立的指针类型,而不仅仅是void*
    【解决方案2】:

    首先,对象是内存中具有值并可能由标识符引用的位置。对象可以是变量、数据结构或函数。

    类是用于创建对象、为状态(成员变量)和行为实现(成员函数、方法)提供初始值的可扩展程序代码模板。

     int WINAPI WinMain:
    

    - 是Win32项目的EntryPoint函数。

     HINSTANCE = Handle INSTANCE:
    

    - 它是一个 void 指针(void, int, bool... 是类型),不是一个类,是模块在内存中的基地址。

     hInstance and hPrevInstance:
    

    -是WinMain函数的参数,hInstance是应用程序当前实例的句柄,hPrevInstance是应用程序前一个实例的句柄,hPrevInstance总是NULL。是的,这是一个对象,因为它位于内存中的某个位置。

    PSTR:
    

    - 它是一个 8 位字符串的指针

    pScmdline:
    

    - 应用程序的命令行。它也是一个对象。

    int:
    

    - 是类型而不是类。

    iCmdshow:
    

    - 它控制窗口的显示方式(最小化、最大化、隐藏...),它是一个类型的对象。

    关于类型和类的区别请看这个问题:What is the difference between Type and Class?

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2013-07-27
      • 2015-11-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多