博客
关于我
window程序设计(1):第一个windows程序
阅读量:280 次
发布时间:2019-03-03

本文共 1335 字,大约阅读时间需要 4 分钟。

#include 
int APIENTRY wWinMain(HINSTANCE hInstance, HINSTANCE hPrevInstance, LPTSTR lpCmdLine, int nCmdShow) { MessageBox(NULL, TEXT("1"), TEXT("2333333333333333"), 0); return 0;}

其中:

        APIENTRY

#define APIENTRY    WINAPI#define WINAPI      __stdcall

        WINDOWS的函数调用时需要用到栈(STACK,一种先入后出的存储结构)。当函数调用完成后,栈需要清除,这里就是问题的关键,如何清除??如果我们的函数使用了_cdecl,那么栈的清除工作是由调用者,用COM的术语来讲就是客户来完成的。这样带来了一个棘手的问题,不同的编译器产生栈的方式不尽相同,那么调用者能否正常的完成清除工作呢?答案是不能。如果使用__stdcall,上面的问题就解决了,函数自己解决清除工作。所以,在跨(开发)平台的调用中,我们都使用__stdcall(虽然有时是以WINAPI的样子出现)。那么为什么还需要_cdecl呢?当我们遇到这样的函数如 fprintf()它的参数是可变的,不定长的,被调用者事先无法知道参数的长度,事后的清除工作也无法正常的进行,因此,这种情况我们只能使用 _cdecl。到这里我们有一个结论,如果你的程序中没有涉及可变参数,最好使用__stdcall关键字。

     HINSTANCE

typedef void * HANDLE;typedef void *HMODULE;typedef void *HINSTANCE;

     LPTSTR

typedef LPWSTR PTSTR, LPTSTR;typedef _Null_terminated_ WCHAR *NWPSTR, *LPWSTR, *PWSTR;typedef wchar_t WCHAR;    // wc,   16-bit UNICODE character#ifndef _WCHAR_T_DEFINEDtypedef unsigned short wchar_t;#define _WCHAR_T_DEFINED#endif  /* _WCHAR_T_DEFINED */

        数据类型 C语言中,short是定义一种整型变量家族的一种。例如short i;表示定义一个短整型的变量i。 长度 依据程序编译器的不同short定义的字节数不同。 标准定义short短整型变量不得低于16位,即两个字节。 编译器头文件夹里面的limits.h定义了short能表示的大小:SHRT_MIN~SHRT_MAX。 在32位平台下如windows(32位)中short一般为16位。基本用法 1.C++ C short为一种数据类型,范围-32768~+32767。 2. 共有两种: unsigned short i; i可以表示0~65535 signed(默认)short i; i可以表示-32768~+32767 ”

 

转载地址:http://exql.baihongyu.com/

你可能感兴趣的文章
Bat:一种具有语法高亮和 Git 集成的 Cat 类命令 | Linux 中国
查看>>
Linux 上最好的五款音乐播放器 | Linux 中国
查看>>
网易云首倡中台方法论,发布全链路中台技术方案
查看>>
传输层协议
查看>>
细数哪些网络用户需要换IP?
查看>>
2020牛客暑期多校训练营(第九场)
查看>>
The 2016 ACM-ICPC Asia Dalian Regional Contest 部分题解
查看>>
8皇后问题 递归 函数调用是重点
查看>>
1541 +1 *2 ²
查看>>
老鼠走迷宫
查看>>
面试别慌!阿里专家带你从【入门+基础+进阶+项目】攻破SpringBoot
查看>>
【Java面试】30个 Java 集合面试必备的问题和答案
查看>>
华为鸿蒙到底是不是安卓系统套了个壳?
查看>>
redis知识点学习
查看>>
分布式理论基础知识点入门
查看>>
多线程之创建线程的两种方式
查看>>
fragment中recyclerview的重新加载问题
查看>>
window程序设计(1):第一个windows程序
查看>>
windows程序设计(4):文本输出
查看>>
JZOJ7月29日提高组反思
查看>>