本章重点介绍了Win 32环境下的多线程和串行通信编程。本章的要点如下: Windows 3.x实行的是协同式多任务,应用程序必须“自觉”地放弃CPU控制权,否则系统会被挂起。 Windows 95/NT实现了抢先式多任务,应用程序对CPU的控制时间由系统分配,系统可以在任何时候中断应用程序,并把控制权转交给别的程序。 在Win 32环境下,每个进程可以同时执行多个线程。线程是系统分配CPU时间片
本章的要点包括: 在Windows系统中,逻辑调色板在应用程序和系统调色板中起缓冲作用。应用程序不能直接改变和使用系统调色板。程序如果要使用20种保留颜色以外的新颜色,应先将其逻辑调色板选入相应的设备上下文并实现到系统调色板中,然后通过引用逻辑调色板中的颜色来使用系统调色板。 当前活动的应用程序中只能有一个窗口的逻辑调色板作为前景调色板实现,其它调色板应作为背景调色板实现。 DDB依赖于设备,只能
本章介绍了MFC的ODBC和DAO类,并向读者演示了编写数据库应用程序的方法。本章的要点包括: 关系数据库由多个相关的表组成,DBMS(数据库管理系统)是一套程序,用来定义、管理和处理数据库与应用程序之间的联系,SQL是一种标准的数据库语言,目前大多数DBMS都支持它。 用ODBC和DAO,用户可以编写独立于DBMS的数据库应用程序。 在访问ODBC数据源之前,应该安装相应的ODBC驱动程序,并在
本章介绍了用户模块的创建和使用。 用户模块是由用户自己开发的、可以加入到最终用户应用程序中提供某一特定功能的函数和类的集合。 用户模块包括静态连接库和动态连接库两大类:静态连接库将函数的目标代码直接连入到应用程序中;动态连接库只是给出函数入口信息,在调用时访问DLL文件中函数的目标代码。 创建静态连接库:指定工程类型为Win32 Static Library,加入函数声明和定义,并编译和连接。提交
这一讲介绍多文档应用程序的设计: 多文档应用程序中的对象:主框架窗口对象、子框架窗口、文档、视图及其相互关系 GDI图形设备接口编程:GDI的三种类型输出、GDI设备上下文类、GDI绘图对象及其使用、常见的绘图任务(画点、画线、矩形等) 绘图程序设计:设计文档类 设计绘图程序视图类 在MDI中访问文档对象和视图对象 分割视图窗口 文档视结构程序的打印和打印预览 支持多种文档类型的文档视图应用程序的
本章主要讲述了以下内容: 文档、视图的基本概念:文档是数据源,它构成应用程序的数据,另外,它还提供存储和管理数据的手段。视图为用户提供了数据的可视显示,还提供了操作数据的界面。 两种类型的文档视结构程序:单文档应用程序和多文档应用程序 用AppWizard生成基于文档视图结构的文本编辑器程序 应用程序类、文档类、视图类、文档模板、框架窗口之间的相互关系 设计文档类:初始化、清理、串行化、在文档类中
这一讲对控件的创建和使用进行了较全面的介绍,其要点为: Windows的控件分为传统控件和新型Win32控件两类。传统控件包括静态控件、按钮、编辑框、滚动条、列表框和组合框。Win32控件包括列表视图、树形视图、进度条、旋转按钮、轨道条、热键和标签。 传统控件的通知消息一般是通过WM_COMMAND消息发给父窗口的,Win32控件的通知消息则是通过WM_NOTIFY消息发送的,该消息可以附带大量信
本课的要点为: 对话框的设计包括对话框模板的设计和对话框类的设计。对话框模板的设计是通过模板编辑器来完成的。对话框类的设计可借助ClassWizard来完成,这包括创建CDialog类的派生类,为对话框类增加与控件对应的成员变量,增加控件通知消息的处理函数等。 对话框的数据成员的初始化工作一般在其构造函数中完成,而对话框和控件的初始化是在OnInitDialog函数中完成的。 模态对话框拥有自己的
定点数 //文档上称,暂不支持 小数字面量 如果字面量计算的结果不是一个整数,那么将会转换为一个对应的ufixed,或fixed类型。Solidity会选择合适的大小,以能尽量包含小数部分。 例,在var x = 1 / 4中,x的实际类型是ufixed0x8。而在var x = 1/ 3中,类型会是ufixedox256,因为这个结果表示是无限的,所以他只能是无限接近。 支持的运算符 适用于整型
本章小结 本章介绍了公有云服务对 Docker 的积极支持,以及新出现的容器云平台。 事实上,Docker 技术的出现自身就极大推动了云计算行业的发展。 通过整合公有云的虚拟机和 Docker 方式,可能获得更多的好处,包括 更快速的持续交付和部署能力; 利用内核级虚拟化,对公有云中服务器资源进行更加高效地利用; 利用公有云和 Docker 的特性更加方便的迁移和扩展应用。 同时,容器将作为与虚拟
这一章主要阐述了如何基于beego框架进行扩展,这包括静态文件的支持,静态文件主要讲述了如何利用beego进行快速的网站开发,利用bootstrap搭建漂亮的站点;第二小结讲解了如何在beego中集成sessionManager,方便用户在利用beego的时候快速的使用session;第三小结介绍了表单和验证,基于Go语言的struct的定义使得我们在开发Web的过程中从重复的工作中解放出来,而且
这一章我们主要介绍了如何实现一个基础的Go语言框架,框架包含有路由设计,由于Go内置的http包中路由的一些不足点,我们设计了动态路由规则,然后介绍了MVC模式中的Controller设计,controller实现了REST的实现,这个主要思路来源于tornado框架,然后设计实现了模板的layout以及自动化渲染等技术,主要采用了Go内置的模板引擎,最后我们介绍了一些辅助的日志、配置等信息的设计
本章讨论了如何部署和维护我们开发的Web应用相关的一些话题。这些内容非常重要,要创建一个能够基于最小维护平滑运行的应用,必须考虑这些问题。 具体而言,本章讨论的内容包括: 创建一个强健的日志系统,可以在出现问题时记录错误并且通知系统管理员 处理运行时可能出现的错误,包括记录日志,并如何友好的显示给用户系统出现了问题 处理404错误,告诉用户请求的页面找不到 将应用部署到一个生产环境中(包括如何部署
本章我们通过三个小节分别介绍了Go语言中如何处理错误,如何设计错误处理,然后第二小节介绍了如何通过GDB来调试程序,通过GDB我们可以单步调试、可以查看变量、修改变量、打印执行过程等,最后我们介绍了如何利用Go语言自带的轻量级框架testing来编写单元测试和压力测试,使用go test就可以方便的执行这些测试,使得我们将来代码升级修改之后很方便的进行回归测试。这一章也许对于你编写程序逻辑没有任何
通过这一章的介绍,读者应该对如何操作i18n有了深入的了解,我也根据这一章介绍的内容实现了一个开源的解决方案go-i18n:https://github.com/astaxie/go-i18n 通过这个开源库我们可以很方便的实现多语言版本的Web应用,使得我们的应用能够轻松的实现国际化。如果你发现这个开源库中的错误或者那些缺失的地方,请一起参与到这个开源项目中来,让我们的这个库争取成为Go的标准库