用Eclipse + CDT + MinGW做Windows编程
Inshion
mailto:xin.yin@gmail
内容目录
前言 (3)
第一部分 开发环境配置 (3)
第二部分 Windows编程、面向对象程序设计 (6)
2.1 Windows编程回顾 (6)
2.2图解程序结构 (7)
2.3用对象封装WindowsAPI (9)
第三部分 一个Demo程序及相关说明 (12)
3.2 源代码说明 (13)
第四部分 将可重用的部分做成静态库 (17)
4.2 静态库项目的建立 (17)
4.3 静态库项目的调用 (18)
  1:头文件 (18)
  2:引用库和参数配置 (19)
4.3 其它可能遇到的问题 (20)
怎么把项目导入到eclipse前言
  以前看到一本书,叫《Visual C++角扮演游戏程序设计》,是一个叫坂本千寻的日本人所著。就我的感觉而言,这本书的内容还是挺丰富,不过每一方面的内容都不是太细,所以想要全靠它就能从无知到入门,是很困难的。但是该书最大的好处就是提供了一系列的Demo,分别演示了书中提到的某一方面。(这些和Eclipse CDT有什么关系吗?=0=|||……别急,哈哈,就快有关系了\^_^/)
  书的前两章主要是一些概要性的叙述,基本不涉及具体的技术。从第三章“Windows程序设计”开始,就进入具体技术环节。正好这两天大致研究了一下Ecilpse+CDT做C++程序(这不就有关系了吗,哈哈),而且我认为这第三章的内容对Windows程序设计和面向对象编程思想的理解很有帮助,于是就用Eclipse的+CDT从这一部分开始,对书中的内容进行了练习。具体地说,就是在Eclipse上搭建上C++的环境,再做出同书中例子程序相似的Demo。
  这篇文章主要就是写来总结一下整个过程中遭遇到的各种问题,同时也复习一下关于Windows和面向对象程序开发的一些内容。
第一部分 开发环境配置
Eclipse+CDT
  我用的是从上下载的Eclipse IDE for C/C++ Developers。打开一看,是Eclipse3.4.1 + CDT 5.0.1.200809120802。
MinGW
  我用的是MinGW-3.1.0-1。
  安装的时候,先装好MinGW,装在C:\MinGW下,然后运行Eclipse IDE,这基本上就可以了。需要一提的是,我下到的这个MinGW是一个完全本地安装的版本,如果例用在线安装那种方式的安装,建议在选择安装组件的时候,尽量都选上,否则在后续使用时可能会造成相当的麻烦。
  测试一下是否成功:
  首先在Eclipse中新建一个项目。选择File->New->C++ Project->Executable->Hello World C++ Project。建完以后,会自动生成一个CPP文件,打开看看,就是一个简单的Main函数。先Build再Run,一般来说是正常通过的。
  然后再建一个Makefile的项目看看。选择File->New->C++ Project->Makefile project-
>Hello World C++ Project。此时向导右侧会出现一个列表,有--Other Toolchain-- 和MinGW GCC,此时一定要选择MinGW GCC。然后输入名称建项目,建完后Build,提示出错(Cannot run program "make": Launching failed)。于是去MinGW的安装目录
C:\MinGW\bin下将复制成即可。再Build、运行,一切正常,至此,环境配置完成。
  在下一部分中,我将讲述Windows程序设计与面向对象程序设计的思想,在该思想的指导下,再进行程序开发。
第二部分 Windows编程、面向对象程序设计
2.1 Windows编程回顾
  提到Windows编程,简单地说,就是调用WIndows API做Windows应用程序。比如画
个窗口,写个菜单,放个按钮,响应响应鼠标之类的。基本上所有的相关入门教程,都会用以下这样一个小例子,来演示一个最简单的Windows应用:
//------------Start---------------
#include ...
//回调函数
LRESULT  WndProc(){
  //switch msg
  ...
  WM_PAINT:
  OnPaint();
  ...
}
void OnPaint(){ //draw }
//入口
int WinMain(){
  //1:注册窗口类,并将该窗口的回调函数调为WndProc
  //2:建立并显示窗口
  //3:进入消息循环
}
//------------End---------------
  从上面程序可以看出,正常的Windows程序编写,都会有上述的1、2、3步。这样一来,

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。