收藏 分享(赏)

Visual_C++基础教程.ppt

上传人:j35w19 文档编号:8693887 上传时间:2019-07-07 格式:PPT 页数:34 大小:579.50KB
下载 相关 举报
Visual_C++基础教程.ppt_第1页
第1页 / 共34页
Visual_C++基础教程.ppt_第2页
第2页 / 共34页
Visual_C++基础教程.ppt_第3页
第3页 / 共34页
Visual_C++基础教程.ppt_第4页
第4页 / 共34页
Visual_C++基础教程.ppt_第5页
第5页 / 共34页
点击查看更多>>
资源描述

1、Visual C+ 开发基础,Visual C+是如何诞生的?C语言和C+语言是如何诞生的?C语言和C+语言究竟有什么关系?C语言、C+语言和Java语言、C#语言有什么关系?,几个与历史有关的问题,最适用的语言才是最好的语言,高级程序设计语言的发展历史,B. Stroustrup,J. Gosling,A. Hejlsberg,三个影响历史的关键人物,C语言来自与B语言,B语言是BCPL语言的简化,而BCPL语言又简化自CPL语言C语言的发明者是贝尔实验室的D. Ritchie1978年有了以K&RC语言程序设计一书为代表的非官方标准。K&R指的是B. Kernighan和D. Ritchi

2、e1989年ANSI颁布了ANSI版的C语言标准,即C89 1999年,ISO/ANSI发布了C语言的最新标准,即C99直到今天,C语言仍然是一种年轻的和不断进步的语言,仍然是具有最强的系统描述能力的语言,C语言的演化,1979年,C+语言的雏形,CPre诞生,这种语言也叫“带类的C” 1983年底,C+得名 1984年拥有了非官方的标准C84 1989年非官方标准演化成带标注的C+参考手册,即著名的ARMC+语言的官方标准直到1998年9月才正式发布。在国际标准化组织(ISO)的档案库里,C+标准的代号是 ISO/IEC 14882:1998 C+是一中多范例的语言 C+并不是100%和C语

3、言保持兼容,丹麦人B. Stroustrup说:“C+是一种通用程序设计语言,其设计目的就是为了使真正的程序员更多地感受到编程的快乐。”,C+语言的演化,一门完整的程序设计语言必须具备的要素,#include #include #include using namespace std;void main() string s;cout s;cout d;cout setw(20) setprecision(2) setiosflags( ios:fixed ) d endl; ,一个使用C+ Standard Library的C+程序例子,程序中的数据究竟存储在什么位置?下面这些数据的存储位置

4、相同吗?全局变量局部变量动态分配的变量空间什么是虚拟存储空间? 什么是线性地址? 什么是内存交换文件?,几个问题,计算机是处理数据的自动机。 程序运行时,数据的存储位置有3个:静态存储区、堆、栈,数据的存储位置,class X public:int m; ;class Y public:int n;void foo(int n)for(int i = 0; i n = n; ;,Y yes;void main() Y* no = new Y();yes.foo(10);no-foo(20);delete no; ,一个使用了静态存储、堆和栈的C+程序例子,什么是编译?什么是连接?为什么要编译和

5、连接?,几个问题,C+代码的编译和连接,Visual C+来源于Microsoft C/C+ 目前Visual C+的最新版本是Visual Studio .NET 7.0中的Visual C+ .NET 7.0 实际开发中常用到Visual Studio 6.0中的Visual C+ 6.0( Visual Studio 6.0最新的Service Pack版本是SP5)Visual C+中的用户界面和基本概念解决方案(Workspace) 项目(Project) 生成(Make) 编译(Build) 编译方式(Build Type/Build Configuration) 项目设置(Pro

6、ject Setting): 编译/连接/调试选项,Visual C+ 简介,演示Visual C+开发控制台程序的方法扼要演示Visual C+开发静态连接库的方法扼要演示Visual C+开发动态连接库的方法,用Visual C+开发控制台程序,WIN 32GUI程序的要素进程线程窗口资源窗口类窗口属性窗口函数消息消息队列消息处理对话框,WIN32是基于DLL的运行环境kernel32.dlluser32.dllgdi32.dll 演示Microsoft Depends的用法,什么是WIN32环境?什么是GUI程序?,演示Visual C+资源编辑器的用法DIALOGICONMENUBIT

7、MAPSTRINGVERSION,消息:由一个消息ID,一个wParam(32位)参数和一个lParam(32位)参数组成typedef struct tagMSG msg HWND hwnd;UINT message;WPARAM wParam;LPARAM lParam;DWORD time;POINT pt; MSG;消息分类 消息队列 消息循环 消息和线程的关系,WIN32窗口系统的核心:消息管理,演示Microsoft Spy+的用法Processes ListThreads ListWindows ListWindow Class PropertiesMessage Logging

8、,基本的WIN32程序包含两个主要函数,WinMain和WndProc:WinMain函数注册窗口类创建窗口显示窗口消息循环WndProc回调函数处理消息未处理消息传给DefWindowProc,开发一个简单的WIN32窗口程序,主消息循环代码的写法 while(GetMessage( ,#include WinMain() / Instance/ WNDCLASS ;/ CreateWindow();/ Main Message Loop WndProc() / switch()/ WM_CREATE/ WM_PAINT/ WM_SIZE/ WM_CLOSE/ WM_DESTROY ,Dev

9、iceContextPaintDC MemoryDC GDIObject: Pen Brush Drawing Functions: ,开发一个简单的WIN32窗口程序,User InputsMouse Events Keyboard EventsFocus,Child Windows在WM_CREATE消息中创建子窗口创建一个包含图形元素的子窗口 创建一个按钮子窗口WM_SIZE的处理WM_PAINT的处理WM_CLOSE的处理WM_DESTROY的处理,WIN32 ControlsStatic Edit Button RadioButton CheckBox List ComboBox P

10、rogress ScollBars,开发一个简单的WIN32窗口程序,#include WinMain() / DialogBox(); DialogProc() / switch()/ WM_INITDIALOG/ EndDialog(); ,Dialog模式对话框 无模式对话框,开发一个简单的WIN32对话框程序,MFC是Microsoft提供的类库,包含了以下功能用户界面开发(对话框,单窗口和多窗口)基本文件I/O数据库开发网络编程(TCP/IP, FTP, Internet)OLE支持(OLE容器,客户端,复合文档)ActiveX支持(用户控件、自动化对象)容器类(数据结构、基本算法)

11、调试、跟踪、测试支持,什么是MFC?,MFC的类结构:CObject是其中最基本的类,向导生成的是源代码的框架,MFC的应用程序向导,使用Visual C+提供的ClassWizard工具(该工具的使用方式在Visual Studio .NET中略有变化)在ClassWizard中添加消息处理过程在ClassWizard中添加新类使用Visual C+ 提供的类视图工具,使用MFC开发对话框程序,演示ClassWizard的用法新建类添加类成员类的继承关系多态、重载的实现消息处理控件-变量对应关系,CWinApp类 CDialog类 CFrameWnd类虚函数的作用:重新实现CDialog或C

12、Wnd的特性消息循环在MFC中的实现:BEGIN_MESSAGE_MAP(CTttDlg, CDialog)/AFX_MSG_MAP(CTttDlg)ON_WM_SYSCOMMAND()ON_WM_PAINT()ON_WM_QUERYDRAGICON()ON_EN_CHANGE(IDC_EDIT1, OnChangeEdit1)/AFX_MSG_MAP END_MESSAGE_MAP(),理解MFC生成的框架代码的结构,Visual C+的文档-视结构,使用MFC开发窗口程序,Visual C+的文档-视结构4个关键类:CDocTemplate、CDocument、CFrameWnd、CVie

13、wCSingleDocTemplate* pDocTemplate; pDocTemplate = new CSingleDocTemplate(IDR_MAINFRAME,RUNTIME_CLASS(CTttDoc),RUNTIME_CLASS(CMainFrame), RUNTIME_CLASS(CTttView); AddDocTemplate(pDocTemplate);CCommandLineInfo cmdInfo; ParseCommandLine(cmdInfo);if (!ProcessShellCommand(cmdInfo)return FALSE;,使用MFC开发窗口程

14、序,MFC下图形对象、控件的用法,OnDraw() 使用CPaintDC和CDCCPen CBrush CFont ,CMenu CButton CProgressCtrl CListBox CListView/CListCtrl CTreeView/CTreeCtrl ,管理文档-视结构,CDoucment:OnNewDocument()OnOpenDocument()Serialize()UpdateAllViews()IsModified()SetModifiedFlag(),CView:PreCreateWindow()OnDraw()GetDocument()OnUpdate(),C

15、FrameWnd:GetActiveFrame()GetActiveView()GetActiveDocument()LoadFrame(),使用Visual C+开发数据库访问程序,访问数据库的不同方式数据库软件本身的接口API 嵌入式C语言代码 ODBC DAO RDO ADO(面向对象的ODBC) .NET类库中的数据库访问模块Visual C+中支持ODBC的类是CDatabase系列 支持DAO的是CDaoDatabase系列 支持ADO的办法是使用ActiveX自动化对象,基于网络连接的数据库访问基础,数据库服务 Database Server,服务端交易环境 (数据库脚本语言):

16、 存储过程/触发器/外部存储过程 T-SQL in SQL Server, PL/SQL in Oracle,操作系统 OS,服务端通信模块,客户端通信模块,公共数据库接口 ODBC, ADO, ,特定数据库接口 DB Library in SQL Server, Pro C/OCI in Oracle,应用程序开发接口 MFC, VB Controls, ,应用程序,网络连接,网络通信技术概览,基于消息的通信技术UDP、TCP、COM、Named Pipes消息队列:MQ 基于成熟应用协议的通信技术FTPMailHttp (Web Access) 基于远程过程调用的通信技术RPC:远程过程调用CORBA:面向对象的远程过程调用Java RMI:Java语言面向对象的远程过程调用Web Services (XML/SOAP):依靠Web和XML实现的,面向对象的远程过程调用,网络通信编程涉及的相关概念,通信协议/协议族 地址/端口/端点 服务端/客户端 后台服务程序/连接数 侦听/连接 同步/异步 打包/解包 编码/解码 发送/接收 会话/进程/线程 交易/队列/负载平衡,

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 企业管理 > 管理学资料

本站链接:文库   一言   我酷   合作


客服QQ:2549714901微博号:道客多多官方知乎号:道客多多

经营许可证编号: 粤ICP备2021046453号世界地图

道客多多©版权所有2020-2025营业执照举报