2020-04-16 09:07
⁄ 工业·编程
⁄ 共 1547字
上一节了解了大体流程,但是界面控件元素是如何被加载、解析、构建、管理、控件消息如何处理的呢?接下来我们将结合控件构造器进行分析;
CDialogBuilder:控件构造器,主要用以解析xml配置文件并以此创建相应控件及相关属性。
类成员数据:
m_xml:xml解析器,用以读取并解析xml配置文件;
m_pCallback:构造器回调函数,用以给予用户可以实现自定义的构造控件对象的方式;
m_pstrtype:以NULL为结束符的字符串,资源类型...
Duilib, 源码阅读全文
2020-04-15 09:03
⁄ 工业·编程
⁄ 共 2440字
Duilib界面库是一款由杭州月牙儿网络技术有限公司开发的界面开源库,以viksoe项目下的UiLib库的基础上开发(此后也将对UiLib库进行源码分析);通过XML布局界面,将用户界面和处理逻辑彻底分离,极大地提高用户界面的开发效率。一般常用于开发小型项目Windows桌面客户端软件;其子窗口不以窗口句柄的形式创建,只是逻辑上的窗口,绘制在父窗口之上。目前开源协议以BSD发布,可使用于商业应用,好了,其他更为详细的介绍,请查阅...
Duilib, 源码阅读全文
2020-02-25 16:25
⁄ 工业·编程
⁄ 共 3463字
Shell从标准输入或脚本中读取的每行称为一个管道行,它包含一个或多个由0个或多个管道字符(|)分隔的命令。对每一个管道行,进行12个步骤的处理。
结合上图,这里给出命令行的12个步骤。
1. 将命令行分成由固定元字符集分隔的记号 :
SPACE, TAB, NEWLINE, ; , (, ), <, >, |, &
记号类型包括单词,关键字,I/O重定向符和分号。
2. 检测每个命令的第一个记号,查看是否为不带引号或反斜线的关键字。 如果是...
bash, 源码阅读全文
2020-02-09 11:16
⁄ 工业·编程
⁄ 共 9813字
1 OpenStack基础
1.1 OpenStack组件介绍
OpenStack是一个IaaS云计算平台开源实现,其对标产品为AWS。最开始OpenStack只有两个组件,分别为提供计算服务的Nova以及提供对象存储服务的Swift,其中Nova不仅提供计算服务,还包含了网络服务、块存储服务、镜像服务以及裸机管理服务。之后随着项目的不断发展,从Nova中根据功能拆分为多个独立的项目,如nova-volume拆分为Cinder项目提供块存储服务,nova-image拆分为Glance项目,提供...
OpenStack, 源码阅读全文
2020-01-28 12:27
⁄ 工业·编程
⁄ 共 133字
因为JDK源码有依赖关系,因此保持一定的阅读顺序十分重要
java.lang
Object
String
AbstractStringBuilder
StringBuilder
StringBuffer
Integer
Long
Short
Boolean
Byte
Double
Float
java, 源码阅读全文
2020-01-17 16:46
⁄ 工业·编程
⁄ 共 728字
Go 源码中,应该可分为与语言息息相关的部分,和官方提供的标准库。与语言实现相关的肯定是最难的,不是那么容易理解。可以先主要看标准库,其他的可以先大概了解下,待准备充足,再开始艰难的任务。
第一步,先把源码目录整体扫一遍,大概看看涉及了哪些模块,再挑自己喜欢的部分进行更深一步的学习与研究。建议每个库都看下官方文档,简单写个 hello world,才会体悟更深。如果连 hello world 都写不出来,这个模块的源码暂时...
Go, 方法, 源码阅读全文
2019-08-31 12:55
⁄ 工业·编程
⁄ 共 13965字
GDB, 即GNU调试器(GNU Debugger)。它诞生自开源软件基金会(Free Software Foundation)成立之初的第一批程序,并一直是免费和开源软件系统中的主要成员。最初GDB只是Unix系统上一个简单的源码层次的调试器,代码量不过数千行C代码,后来逐步发展壮大,拓展到包括嵌入式系统在内多个平台,代码量也达到了上百万行。
GDB在发展,不断地满足着新的用户需求并增加新的功能。这一章将我们将介绍GDB的整体内部结构,探讨一下GDB是如何...
GDB, 源码阅读全文
2019-08-04 06:26
⁄ 工业·编程
⁄ 共 13130字
本文对bash的源码(版本:4.2.46(1)-release)进行简要分析。
数据结构
bash是用C语言写成的,其源码中只使用了少量的数据结构:数组,树,单向链表,双向链表和哈希表。几乎所有的bash结构都是用这些基本结构实现的。
源码中最主要的结构都定义在根目录下头文件command.h中。
单词
bash在不同阶段传输信息并处理数据单元的数据结构是WORD_DESC:
typedef struct word_desc {
char *word; ...
bash, 源码阅读全文
2019-08-03 07:44
⁄ 工业·编程
⁄ 共 11523字
2. Poco日志的实现
2.1 日志模块应该实现的业务
在讨论日志的实现之前,先来聊一下日志模块应该实现那些业务。日志的业务说简单可以很简单,就是输出记录。说复杂也复杂,来看它的复杂性:
首先,日志的输出对象是不同的,有控制台输出,本地文件输出,网络文件输出,输出到系统日志等。假如是网络日志,日志库中其实还会包含网络模块,真是越来越复杂了。
第二,日志输出的格式和内容。不同用户关心的内容和喜欢的输出格式是不...
POCO, 开源, 源码阅读全文
2019-08-01 07:41
⁄ 工业·编程
⁄ 共 11958字
日志对于程序来说是非常重要的,特别是对一些大型程序而言。一旦程序被发布,在现场日志几乎是程序员唯一可以获取程序信息的手段。Poco作为一个框架类库,提供了非常多的日志种类供程序员选用。文章将分两个部分,对于Poco日志进行介绍。第一部分主要以翻译Poco文档为主,第二部分则探讨Poco日志的实现。
1. Poco库日志接口
1.1 总体介绍
Poco中的日志模块主要涉及下列...
POCO, 开源, 源码阅读全文