摘要: 在MFC程序中,我们并不经常直接调用Windows API,而是从MFC类创建对象并调用属于这些对象的成员函数.也就是说MFC封装了Windows API 你说你喜欢C++而MFC换一种说法就是一个用C++写的一个函数库 然后你来调用 只不过这个类不是你写的 MFC提供数百个类,最重要的、也是编写任何VC++应用程序都必不可少的两个类CWinApp和CFrameWnd,这两个类是编写复杂庞大应用程序的基石。1>封装特性:构成MFC框架的是MFC类库而MFC类库又是C++的一个类库。这些类封装WIN32应用程序编程接口,OLE(Object Link Embed 对象链接嵌入)特性,ODB 阅读全文
posted @ 2011-04-15 16:37 山河 阅读(287) 评论(0) 推荐(1) 编辑
摘要: CBitmap m_bitmap; //对象m_bitmap.LoadBitmap(IDB_SPLASH);//加载void CSplashWnd::OnPaint(){CPaintDC dc(this);CDC dcImage;if (!dcImage.CreateCompatibleDC(&dc))//创建内存设备环境 return;BITMAP bm;m_bitmap.GetBitmap(&bm);// Paint the image.CBitmap* pOldBitmap = dcImage.SelectObject(&m_bitmap);//这里把m_bitm 阅读全文
posted @ 2011-04-15 16:36 山河 阅读(950) 评论(0) 推荐(0) 编辑
摘要: 首先要明确的一点,事件可以看成一个字段,或者一个属性。一个类有一个Event类型的字段,就说明他拥有一个事件,而Event类型需要定义一个委托delegate类型所以,Net中的事件处理模型可以归纳如下:1.定义需要的委托类型 2.在需要定义事件的类EventClass中定义事件属性3.在需要处理事件的类ProcessEventClass中根据相应的委托类型定义事件处理函数4.注册事件处理程序,并根据不同的情况激活示例程序如下:using System;using System.Collections.Generic;using System.Text;namespace EventExamp 阅读全文
posted @ 2011-04-15 16:35 山河 阅读(153) 评论(0) 推荐(0) 编辑
摘要: .NET Framework 具有两个主要组件:公共语言运行库和 .NET Framework类库。语言 Visual Studio .NET 自身包含四种语言:Visual Basic、Visual C++、Visual C# 和 JScript。然而,.NET 框架的模块化特性使得由第三方创作的其他语言也可以集成到 Visual Studio .NET 中。此类语言有 20 多种,包括 Perl、Component Pascal、SmallScript 和 Smalltalk。 公共语言规范 此规范是实现 .NET 框架的所有语言的基础,定义了公共类型系统的标准和所有语言必须实现的功能。这 阅读全文
posted @ 2011-04-15 16:35 山河 阅读(285) 评论(0) 推荐(0) 编辑
摘要: 1、载入png绘图 Bitmap bitmap = new Bitmap(frameWidth, frameHeight); Graphics g = Graphics.FromImage(bitmap); g.DrawImage(Image , new Rectangle(0, 0, bitmap.Width, bitmap.Height), new Rectangle(frameWidth * frame, 0, frameWidth, frameHeight), GraphicsUnit.Pixel);2、创建内存设备上下文环境 IntPtr screenDC = Win32.GetDC 阅读全文
posted @ 2011-04-15 16:34 山河 阅读(237) 评论(0) 推荐(0) 编辑
摘要: 1、所见即所得。2、基于公共语言运行时,可以无缝使用基础库、消息机制、数据接口。3、简单的文件拷贝和文件配置即可完成网站搭建。4、Asp.net技术联动IIS的多处理器技术,使网站运行在多处理器环境里。5、自定义组件。6、基于windows的安全认证技术。7、web前端-->IIS服务器-->.net framework-->数据库。8、服务器端一次编译多次运行(asp即时解释程序)。9、asp.net可以使用常用的html编辑工具、web前端工具(Dream wave、visual studio等)实现快速开发。10、web服务器基于iocp技术和http协议的http l 阅读全文
posted @ 2011-04-15 16:34 山河 阅读(507) 评论(0) 推荐(0) 编辑
摘要: Visual Studio 是微软公司推出的开发环境,也是目前最流行的 Windows 平台应用程序开发环境。MID平台,基于Intel Atom处理器和Windows xp操作系统下的应用软件可以使用开发工具visual studio 2008。 基本功能 开发windows应用程序、web应用程序、智能设备应用程序、网络服务和office插件等,集编码、编译、调试和运行于一体。版本vs 2008是其开发的9.0版本,当前最新版本为10.0即vs 2010。版本分类Visual Studio 2008 Express EditionVisual Studio 2008 Standard Ed 阅读全文
posted @ 2011-04-15 16:33 山河 阅读(296) 评论(0) 推荐(0) 编辑
摘要: CRT应该是严格遵守C89或C99的,他应具备与操作系统无关的跨平台特性。任何个人和组织都可以基于ANSI 标准C开发出一套支持上层软件或系统开发的、反复使用、通用的CRT.诚如microsoft的windows开发同样要使用CRT和编译器。只是microsoft把操作系统的一些API加入CRT并公之于众,这样大大利于用户于其操作系统上开发---即可以使用CRT又可以使用上层api,系统有用户了用户也可便利开发软件了,这显然是合理的。也就是这样,他给我带来了假象,仿佛CRT是使用windows api开发出来似的。当然这是不对的,只是mc把CRL添加、包装(lib,dll)后方便大家使用和开发 阅读全文
posted @ 2011-04-15 16:32 山河 阅读(279) 评论(0) 推荐(0) 编辑
摘要: 29. vc编译器对c函数默认的调用方式是_cdecl方式,函数参数按照从右向左的顺序入栈,被调函数出栈即可顺序使用参数。函数调用者负责清除栈中的参数。此方式支持了c标准中的可变参数函数调用。30. C#的完全基于.net framework (公共语言运行时CLR)的托管代码,其对象内存资源由框架负责管理。使用.net framework托管的代码编译生成中间语言,启动后由框架处理形成机器码,程序的整个声明周期交由框架负责而不是操作系统。这与c++写的非托管代码由操作系统(准确说是c运行时、c++标准库)负责调度是不同的。非托管代码需要手动释放内存资源,而托管是无需也不能干预的。31. .n 阅读全文
posted @ 2011-04-15 16:32 山河 阅读(157) 评论(0) 推荐(0) 编辑
摘要: Assembly Manifest 通俗简易手册恩,为了大家都能很方便的理解,我将尽量简单通俗地进行描述。[现象]对这个问题的研究是起源于这么一个现象:当你用VC++2005(或者其它.NET)写程序后,在自己的计算机上能毫无问题地运行,但是当把此exe文件拷贝到别人电脑上时,便不能运行了,大致的错误提示如下:应用程序配置不正确,请重新安装程序……或者是MSVCR80D.dll 没有找到什么的(我记得不是很清楚,不过大致是这样的)[分析]看到这样的提示,当然不会傻到重装咯。第一反应应该是什么配置有问题、或者是缺少了什么依赖的库文件;于是我就根据以前Windows缺少库文件的经验,把所有库文件( 阅读全文
posted @ 2011-04-15 16:31 山河 阅读(468) 评论(0) 推荐(0) 编辑
摘要: Thread NetServer = new Thread(new ThreadStart(NetServerThreadFunc)); NetServer.Start(); WPF工程里,此线程不可以操作UI元素,避免方法如下:1、public delegate void DeleFunc(); public void Func() { //使用ui元素 } 线程函数中做如此调用: System.Windows.Application.Current.Dispatcher.Invoke(System.Windows.Threading.DispatcherPriority.Normal, n 阅读全文
posted @ 2011-04-15 16:30 山河 阅读(1447) 评论(0) 推荐(0) 编辑
摘要: 1.概论 运行时库是程序在运行时所需要的库文件,通常运行时库是以LIB或DLL形式提供的。C运行时库诞生于20世纪70年代,当时的程序世界还很单纯,应用程序都是单线程的,多任务或多线程机制在此时还属于新观念。所以这个时期的C运行时库都是单线程的。 随着操作系统多线程技术的发展,最初的C运行时库无法满足程序的需求,出现了严重的问题。C运行时库使用了多个全局变量(例如errno)和静态变量,这可能在多线程程序中引起冲突。假设两个线程都同时设置errno,其结果是后设置的errno会将先前的覆盖,用户得不到正确的错误信息。 因此,Visual C++提供了两种版本的C运行时库。一个版本供单线程应用程 阅读全文
posted @ 2011-04-15 16:29 山河 阅读(265) 评论(0) 推荐(0) 编辑
摘要: 一、 软件执行流程1、 软件编译流程Ø 预编译完成宏展开工作。Ø 为每一个.cxx源文件编译一个目标文件(.obj,.o),目标文件中至少包含二进制的代码段和数据段。在cxx源文件中可能会引用在其他cxx/hxx中定义的符号,也可能是自己定义的一些符号,这些作用域超过一个cxx文件的符号称为“public符号”(例如非静态函数)。因此每一个目标文件中也包含一个符号表,用于记录自己引用的符号及自己提供的public符号。Ø 编译器合成这些目标文件成一个库文件(.lib),同时解析可以找到的符号引用。此时这个库文件包含了二进制的代码段和数据段,同样也会包含一个符号表, 阅读全文
posted @ 2011-04-15 16:28 山河 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 基于windows操作系统,可以采用如下函数创建线程,以前的代码是不准备去翻了,立此备忘而已...1、windows API CreateThread; HANDLE CreateThread(PSECURITY_ATTRIBUTES psa, DWORD cbStack,PTHREAD_START_ROUTINE pfnStartAddr, PVOID pvParam,DWORD fdwCreate, PDWORD pdwThreadID);psa参数:是指向PSECURITY_ATTRIBUTES结构的指针。如果希望所有的子进程能够继承该线程对象的句柄,必须设定一个PSECURITY_AT 阅读全文
posted @ 2011-04-15 16:27 山河 阅读(209) 评论(0) 推荐(0) 编辑
摘要: 八、 Windows驱动程序模型Windows环境下驱动程序共有三类,一类是VxD( Virtual Device Driver,虚拟设备驱动程序),起源于Windows 3.1 时代,用于Windows 95/98/Me操作系统中;一类是KMD( Kernel Mode Driver,内核模式驱动程序),用于Windows NT下;还有一类就是WDM(Win32 Driver Mode,Win32驱动程序模型),是微软从Windows 98开始,推出的一个新的驱动类型,它是一个跨平台的驱动程序模型,不仅如此WDM驱动程序还可以在不修改源代码的情况下经过重新编译后在非Intel平台上运行,毫不 阅读全文
posted @ 2011-04-15 16:26 山河 阅读(1536) 评论(0) 推荐(0) 编辑
摘要: Windows下usb接口芯片的驱动技术一、 USB概述USB的英文全称为Universal Serial Bus,中文含义是通用串行总线,是由Conpaq、DEC、IBM、Inter、Microsoft、NEC和Northen Telecom等公司为简化PC与外设之间的互连而共同研究开发的一种免费的标准化连接器,它支持各种PC与外设之间的连接,还可实现数字多媒体集成。现在生产的PC几乎都配备了USB接口,Microsoft 的Windows98、NT以及MacOS、Linux、FreeBSD等流行操作系统都增加了对 USB的支持。它是一种快速的,双向的,同步传输的廉价的并可以进行热拔插的串行 阅读全文
posted @ 2011-04-15 16:25 山河 阅读(1434) 评论(0) 推荐(0) 编辑
摘要: IP 数据包格式(1)版本 占4位,指IP协议的版本。通信双方使用的IP协议版本必须一致。目前广泛使用的IP协议版本号为4(即IPv4)。关于IPv6,目前还处于草案阶段。 (2)首部长度 占4位,可表示的最大十进制数值是15。请注意,这个字段所表示数的单位是32位字长(1个32位字长是4字节),因此,当IP的首部长度为1111时(即十进制的15),首部长度就达到60字节。当IP分组的首部长度不是4字节的整数倍时,必须利用最后的填充字段加以填充。因此数据部分永远在4字节的整数倍开始,这样在实现IP协议时较为方便。首部长度限制为60字节的缺点是有时可能不够用。但这样做是希望用户尽量减少开销。最常 阅读全文
posted @ 2011-04-15 16:24 山河 阅读(422) 评论(0) 推荐(0) 编辑
摘要: 1.Soket发展史以及它和tcp/ip的关系七十年代中,美国国防部高研署(DARPA)将TCP/IP的软件提供给加利福尼亚大学Berkeley分校后,TCP/IP很快被集成到 Unix中,同时出现了许多成熟的TCP/IP应用程序接口(API)。这个API称为Socket接口。今天,SOCKET接口是TCP/IP网络最为 通用的API,也是在INTERNET上进行应用开发最为通用的API。 九十年代初,由Microsoft联合了其他几家公司共同制定了一套 WINDOWS下的网络编程接口,即Windows Sockets规范。它是Berkeley Sockets的重要扩充,主要是增加了一些异步函 阅读全文
posted @ 2011-04-15 16:23 山河 阅读(433) 评论(0) 推荐(1) 编辑
摘要: 4.Internet最常用的几个服务 远程登录(Telnet)远程登陆Telnet:远程, 登录,仿真终端,共享工具。 远程登陆Telnet是一个简单的远程终端协议。 用户用Telnet就可以在所在地通过TCP连接(即登录)到远地的另一台主机上(使用主机名或IP地址)。有两种登录命令,telnet,relogin(为Berkeley UNIX而开发的) 如:telnet bbs.zsu.edu.cn, (中山大学BBS) telnet smth.org (清华BBS) Telnet也使用客户/服务器模式 Telnet功能Telnet在功能上,是模拟成远端一部电脑系统的终端机,称为网络虚拟终端N 阅读全文
posted @ 2011-04-15 16:21 山河 阅读(212) 评论(0) 推荐(0) 编辑
摘要: 1.计算机网络体系结构相互通信的两个计算机系统必须高度协调工作才行,而这种“协调”是相当复杂的。• “协调”衍生出网络体系结构• 定义:层次结构和各层协议的集合计算机网络是采用层次性的结构模型,将网络分为若干层次,每个层次负责不同的功能。每一个层次中通信双方都要共同遵守相应的约定,我们将这个约定叫做协议。各功能层之间,上一层向下一层提出服务的要求,下一层则完成上一层提出的要求。 物 理层为它的上一层提供一个物理连接,以及它们的机械、电气、功能和过程特性 – 机械特性:主要定义物理连接的接插装置的形状和尺寸、引脚数量和排列、固定和锁定装置等等。 – 电气特性 :规定传输二进制位时,线路上信号的电 阅读全文
posted @ 2011-04-15 16:20 山河 阅读(352) 评论(0) 推荐(0) 编辑