博客
关于我
window程序设计(1):第一个windows程序
阅读量:279 次
发布时间: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/

你可能感兴趣的文章
[Golang]golang中自动锁的实现
查看>>
用float/double作为中转类型的“雷区”
查看>>
golang中interface的一些语法缺陷的改进
查看>>
vue-router路由 学习笔记
查看>>
数据结构与算法之栈
查看>>
【数据库】第七章课后题
查看>>
第四章 串、数组和广义表 —— BF算法和KMP算法
查看>>
[选拔赛1]花园(矩阵快速幂),JM的月亮神树(最短路),保护出题人(斜率优化)
查看>>
DLA:一种深度网络特征融合方法
查看>>
leetcode114(二叉树展开为链表)
查看>>
java —— this 关键字
查看>>
java —— static 关键字
查看>>
Firefox 69 已可在 Fedora 中获取 | Linux 中国
查看>>
在 Python 调试过程中设置不中断的断点 | Linux 中国
查看>>
AI 系统向自动化编码迈进 | Linux 中国
查看>>
使用 Jupyter Notebooks 构建一个远程管理控制台 | Linux 中国
查看>>
使用开源可视化工具来理解你的 Python 代码 | Linux 中国
查看>>
【2021 ECUG Con】聚势而来,与你相约花开时
查看>>
硬核观察 | 有人在比特币骗局中损失了 10 个比特币
查看>>
FreeDOS 的简单介绍 | Linux 中国
查看>>