C语言Windows程序设计->第一天->第一个Windows程序
在《Windows程序设计》(第五版)第一章的起步中, 作者介绍了学习Windows程序设计的一些基本要求:
1. 能够从用户角度熟练的使用Windows;
2. 懂得如何使用C语言;
3. 安装好了Windows的开发环境.
看起来要求并不算高(怎么样?一起来尝试下?)。 笔者在这里决定使用Visual C++ 6.0作为开发环境, 虽说在Visual Studio这个大家族中, VC++6早已被长江后浪推前浪, 把VC++6推成了一个将近淘汰的环境, 但是作者的机器实在是有点不够给力, 启动VS2010时相对比较慢。 总之, 既然Charles Petzold也假定我会用Visual C++ 6.0, 那么我就用VC++6好了。
·介绍Windows
*Windows的历史:
是的, 你不用惊讶, Windows在这里就是指的微软(Microsoft)的那个操作系统, Windows的历史如果要详细介绍的话, 我觉得可能要单开个随笔分类才行, 所以这里就简略的介绍下, 不过我还是建议你去搜索引擎查下关于Windows的历史(如果你认为有必要的话)。
1>. 1985年11月, Windows 1.0正式推出;
IBM与Microsoft共同开发, 基于DOS系统,通过DOS来进行文件操作, 当然, 2.0、3.0也都是基于DOS的, 直到Windows 2000的发布,Windows才彻底的摆脱了DOS,成为真正独立的操作系统。
2>. 1987年11月, Windows 2.0推向市场;相对于1.0, 2.0在界面上做了些改动, 采用了重叠窗口。
3>. 1990年 5月, Windows 3.0推向市场;支持Intel 286、386、486微处理器的16位保护模式。
4>. 1993年 7月, Windows NT投放市场;Windows家族中第一个支持Intel 386、486、奔腾微处理器32位模式的版本。
5>. 1995年 8月, Windows 95发布;一个混合的16位/32位Windows系统。
6.> 1998年 6月, Windows 98进入市场;基于Windows 95编写, 对Windows 95的改进。
书的作者就将Windows介绍到这里(没办法, 人家这本书就是1998年写好的), 后来的Windows就更猛了, 横扫桌面, Windows 2000/2003/XP/Vista/2008/, 都懂得。
*Windows的优点:
更加人性化? 操作更简单? 一定还有其他的优点。
*工作原理的中心思想:
"动态链接"概念即为Windows工作原理的中心思想, 通过调用Windows自带的函数来实现在屏幕上显示文本与图形。 函数通过动态链接库实现, .dll以及.exe的文件, 在Windows 98中, 这些文件在\Windows\System子目录下, NT的在\WinNT\System或\WinNT\System32, NT以上放在\Windows\System32。
·关于Windows编程
*Windows API:
API, Application Programming Interface, 应用程序编程接口,Windows API 实际上也就是Windows提供的一些函数, 通过对这些函数的调用完成应用程序的开发。
*API文档:
这份文档里介绍了Windows提供的已公开的所有API, 你可以下载份离线的, 或者去MSDN在线图书馆( MSDN Library Online )查阅这份文档.上午的随笔暂时写到这里, 感觉写的有点短, 其实书上写了很多, 仔细品味了好几遍, 越品味越有种不到重点的感觉, 要是比着书上的句子抄, 这博文岂不是太无味了, 我想, 这些Windows的背景知识对编程影响或许也不是很大, 所以在这里就不啰嗦这些了。下午学习"你的第一个Windows程序"。
*我的第一个Windows程序, Hello,world!
在Charles Petzold的书中, 作者首先回顾了下C语言在控制台下通过标准输入输出函数输出"Hello,world!"的程序, 代码如下:
#include <stdio.h>
int main()
{ printf( "Hello,world!\n" ) ;
return 0 ;}
同样, Charles Petzold也给出了Windows版的"Hello,world!"(其实他给出的是Hello,windows 98!), 代码如下:
#include <windows.h>
int WINAPI WinMain( HINSTANCE hInstance, HINSTANCE hPrevInstance, PSTR szCmdLine, int iCmdShow )
{
MessageBox( NULL, TEXT("Hello,world!"), TEXT("MessageBox"), 0 );
return 0;
}
通过Visual C++ 6.0的"文件"-->"新建"-->"工程", 选择"Win32 Application"创建一个空的项目, 再在这个项目中新建一个"文件", 文件类型为"C++ Source File", 文件以.c为扩展名, 将上面的代码敲入或者复制粘贴到这个文件内容中, 经过编译运行就可以得到一个对话框了, 赶紧截图留念吧!
在这个对话框中, 有标题栏, 标题栏的内容是"MessageBox", 对话框的内容为"Hello,world!", 还有一个"确定"按钮, 而且, 没有那个黑框框窗口, 一切看起来都是那么美好, 来一起看看这
段Windows版的Hello,world!吧!
*Windows版的Hello,world!代码注释*
*第一行
#include <windows.h>
稍微有点C语音基础的都能明白, 这是要包含"windows.h"这个头文件, 也就说明, 在下面的代码中, 要用到这个头文件, 如果我们将#include<windows.h>这句去掉再进行编译看看会有什么情况:
HelloWorld.c
d:\project\lwinc\helloworld\helloworld.c(3) : error C2061: syntax error : identifier 'WinMain'd:\project\lwinc\helloworld\helloworld.c(3) : error C2059: syntax error : ';'d:\project\lwinc\helloworld\helloworld.c(3) : error C2146: syntax error : missing ')' before i
dentifier 'hInstance'd:\project\lwinc\helloworld\helloworld.c(3) : error C2061: syntax error : identifier 'hInstance'd:\project\lwinc\helloworld\helloworld.c(3) : error C2059: syntax error : ','c语言如何去学d:\project\lwinc\helloworld\helloworld.c(3) : error C2059: syntax error : ')'执行 cl.exe 时出错.
意料之内的, 报错了, 第一条就是标识符"WinMain"错误, 具体的细节暂时就不深究了, 继续向下看。
*关于windows.h头文件:
在windows.h这个头文件中, 实际上已经包含了若干的其他相关的头文件, 用书上的话说, windows.h是个非常重要的包含文件, 其中包含的其他比较重要的头文件有:
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论