- 1、本文档共6页,可阅读全部内容。
- 2、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Win32编程根底01
Day 01
一 Win32应用程序的基本类型
1 控制台程序:不需要完善的Windows窗口,可以使用DOS窗口的方式显示。
2 Win32窗口程序:包含窗口的程序。可以通过窗口与程序进行交互。
3 Win32库程序:提供已有的代码供其他程序使用,分为动态库和静态库。动态库DLL是在执行的时候可以加载的程序;静态库LIB是在编译链接是使用的程序。
4 四种Win32程序的对比:
(1)程序的入口函数不同:控制台入口函数为main函数; Win32窗口程序入口函数为WinMain函数;动态库DLL入口函数DllMain函数;静态库LIB没有入口函数。
(2)编译链接后存在的形式不同: 控制台和Win32窗口程序生成EXE文件,可以执行;动态库DLL生成DLL文件,无法执行;静态库LIB生成LIB文件,无法执行。
(3)执行结果不同:控制台使用DOS窗口,自己没有窗口; Win32窗口程序会产生自己的窗口,可以将结果输出或者从窗口接受接受输入;动态库DLL:自己无法执行,提供可以执行的代码,当EXE等程序执行时可以使用这些代码,执行时该库必须在指定的路径;静态库LIB自己无法执行,提供给程序在编译链接时使用,将库中的代码嵌入到程序当中,执行时不需要该库存在。
二 Win32窗口程序和编译环境
1 开发和编译环境: VC1.5 - VC6.0(2008) - VC10.0(2010)
(1)编译器CL.EXE
(VC6.0的所在路径:Microsoft Visual Studio\VC98\Bin)将源代码编译成目标代码即.OBJ文件。
(2)链接器Link.EXE
(VC6.0所在路径:Microsoft Visual Studio\VC98\Bin)将OBJ文件和库函数链接生成EXE可执行文件。
(3)资源编译器rc.exe
(在VC6.0所在路径为:Microsoft Visual Studio\Common\MSDev98\Bin)将资源脚本编译成可以链接的文件(RES)。
2 头文件和库
(1)头文件windows.h包含了windows常用的定义,也还包含了一些其他头文件如 windef.h 定义了各种数据类型。winbase.h定义了kernel的相关函数;wingdi.h - 定义了绘图和文字;winuser.h- 窗口 控件等函数;winnt.h - 提供Unicode支持。
(2)库kernel32.lib提供进程/线程/内存等等API函数支持;库user32.lib包括窗户/界面等等;库gdi32.lib提供绘图/文字等。
(3) Hello World程序
① 入口函数
int WinMain(
HINSTANCE hInstance, //应用程序的实例句柄
HINSTANCE hPrevInstance, //该应用程序的前一个实例句柄
LPSTR lpCmdLine, //命令行参数
int nCmdShow ) //窗口的显示
② MessageBox函数
int MessageBox(
HWND hWnd, // handle of owner window
LPCTSTR lpText, // address of text in message box
LPCTSTR lpCaption, // address of title of message box
UINT uType ) // style of message box
(4)编译环境的准备:在终端执行一下:Microsoft Visual Studio\VC98\Bin目录下VCVARS32.BAT。
(5) 编译CL.EXE 。CL的常用选项:/c 只编译不链接;/TC 编译C文件;/TP 编译C++文件;如果不指定,CL会根据文件类型自动区分;/I 头文件所在路径,字符大小写敏感。
(6)链接LINK.EXE。LINK常用选项:/out 文件名,链接成指定文件名的程序;/LIBPATH:LIB要链接的文件存放路径。如:/LIBPATH:E:\XXX;还有/SUBSYSTEM:CONSOLE/WINDOWS 字符大小写不敏感。
(7)执行:正常执行或带参数执行
三 第一个窗口程序
您可能关注的文档
- T 320吊装计划.doc
- T 协同办公产物V60说明.doc
- T 协同办公产物V61发版说明.doc
- T1T3T6U8新报价09 尺度报价Microsoft Word 文档.doc
- T136S J0101施工图总阐明.doc
- T1商贸通零售零售版.doc
- T1转运站底子开挖方案.doc
- T311 2管消防水管施工计划.doc
- T3标准版操纵流程总汇.doc
- T3杯知识竞赛平安题库.doc
- PDM软件:Siemens Teamcenter二次开发_(17).Teamcenter最佳实践与案例分析.docx
- SCADA软件:GE Proficy二次开发_(4).Proficy开发环境搭建.docx
- 智能电表软件:Landis+Gyr智能电表二次开发_(13).系统集成与测试.docx
- 智能电表软件:Elster智能电表二次开发_(8).Elster智能电表二次开发环境搭建.docx
- PDM软件:Siemens Teamcenter二次开发_(11).TeamcenterAPI与编程基础.docx
- SCADA软件:GE Proficy二次开发_(7).报警与事件管理.docx
- 智能电表软件:Echelon智能电表二次开发_(11).智能电表行业标准与法规.docx
- 智能电表软件:Itron智能电表二次开发_(6).用户界面定制与开发.docx
- 智能电表软件:Elster智能电表二次开发_(9).Elster智能电表二次开发工具使用.docx
- PDM软件:PTC Windchill二次开发_(21).Windchill最佳实践案例分析.docx
文档评论(0)