摘要: 众所周知,Qt提供了一套Model/View框架供开发者使用,Model用来提供数据, View则用来提供视觉层的显示。实际上这是一套遵循MVC设计模式的GUI框架,因为Qt还提供了默认的Delegate作为Controller来作为控制器。 ![MVC image] MVC的好处这里就不多说了,为阅读全文
posted @ 2017-09-14 23:09 lgxZJ 阅读(224) 评论(1) 编辑
摘要: Libmicrohttpd简介 GNU Libmicrohttpd是一个用来在项目中内嵌http服务器的C语言库,它具有以下几个非常鲜明的特点: 1. C语言库,小而快。 2. API非常简单,且都是 可重入 的。 3. 兼容HTTP1.1。 4. 支持4种多线程模型(select、poll、pth阅读全文
posted @ 2017-08-13 17:14 lgxZJ 阅读(67) 评论(0) 编辑
摘要: 最近写个Qt demo,想要使用压缩和解压多个文件的功能,并不使用额外进程。网上参考了很多资料,发现只有QuaZip比较适合我的需求。但是QuaZip只提供源码,因此需要自己来编译。 QuaZip简介 QuaZIP is a simple C++ wrapper over Gilles Vollan阅读全文
posted @ 2017-07-30 23:42 lgxZJ 阅读(99) 评论(0) 编辑
摘要: 最近项目中要在Qt中使用CEF(Chromium Embedded Framework),在这里总结下其中的几个要点。 下载合适的CEF版本 关于CEF的简介我们这里就不做介绍了,下载CEF可以有2种选择: 1. 源码:强烈不建议下载源代码并编译构建(学习代码除外),下载源码需要你翻墙、有良好的网速阅读全文
posted @ 2017-07-20 22:30 lgxZJ 阅读(224) 评论(2) 编辑
摘要: 1. 私企国企 程序员找工作时一定要考虑清楚自己想要什么:进国企的话工作比较轻松,朝九晚五,但是薪资可能会低一些;进私企通常会有一份高一点的工资,但是工作时间会比较长,像我就是10:00 21:30这个时间段,加起来工作时间有12左右。本身技术公众就是基层工作,脑力劳动搬砖,强度会普遍大。 2.住宿阅读全文
posted @ 2017-07-08 23:27 lgxZJ 阅读(154) 评论(0) 编辑
摘要: NuGet是微软开发平台下的包管理软件,使用它你可以非常方便的将一些第三方的库、框架整合进自己的项目中,省去了不少麻烦的配置过程。但是从官方文档上来看,貌似NuGet对C++的支持不是很好,并且在现阶段推荐使用CoApp来简化包的构建。 1. 环境要求 NuGet 2.5 及以上(较新版本才加入了对阅读全文
posted @ 2017-06-25 16:54 lgxZJ 阅读(125) 评论(0) 编辑
摘要: 1.为什么system_error "....report error conditions originating from the operating system or low level application program interfaces." 报告 源于 操作系统 或 低层程序接口阅读全文
posted @ 2017-04-22 16:05 lgxZJ 阅读(186) 评论(0) 编辑
摘要: 预定义异常类 这个头文件包含的内容非常简单,只包含 9个异常类,均从exception类派生 ,因此我们用三张图来描述: ![logic error image] ![runtime error image] ![uses image] 这里仅解释两点: overflow : 指值的大小超过 整型 阅读全文
posted @ 2017-04-04 15:36 lgxZJ 阅读(84) 评论(0) 编辑
摘要: 内容概览 ![content image] 一图解百问,但是有些地方我们需要特别指出: 1. 类型 在这里指 通过typedef重定义 的,例如函数类型、指针类型等。 2. 在标准中是未定义具体实现的,因此它 可能是类也可能是类型 。 3. 和 是两个不同的函数,分别 判断是否有未处理异常 、 返回阅读全文
posted @ 2017-04-01 16:05 lgxZJ 阅读(462) 评论(0) 编辑
摘要: 测大小 这里我们比较4种版本的basic_string模版类,分别是: , , , . 虽然他们是不同的字符串类型,但是其sizeof的结果却 一样 ,都为 40字节 (x64下): ![sizeof image] 看源码 我们都知道,上面4个不同的类型是 同一份模版(basic_string)的实阅读全文
posted @ 2017-03-22 22:38 lgxZJ 阅读(114) 评论(0) 编辑
摘要: 1. 简介 该头文定义了与文件箱关联的流类的4个模版: basic_filebuf basic_ifstream basic_ofstream basic_fstream 和8个类型: filebuf ifstream ofstream fstream wfilebuf wifstream wofs阅读全文
posted @ 2017-02-22 09:15 lgxZJ 阅读(118) 评论(0) 编辑
摘要: 1. 简介 这个头文件主要定义了 基于字符串类(string类)的流 的 4个模版 : basic_stringbuf basic_istringstream basic_ostringstream basic_stringstream 和 8个类型 : istringstream ostrings阅读全文
posted @ 2017-02-21 10:28 lgxZJ 阅读(125) 评论(0) 编辑
摘要: 1. 简介 该头文件定义了 basic_streambuf 模版,从字面上看是作为 流缓冲区 之用。 2. basic_streambuf模版 The class template basic_stream serves as an abstract base class for deriving 阅读全文
posted @ 2017-02-20 09:50 lgxZJ 阅读(59) 评论(0) 编辑
摘要: 1. 简介 其实叫它istream有点不合适,因为该头文件不仅定义了 ,还定义了 。 2. basic_istream模版 basic_istream继承自basic_ios,也是其它输入流的基类。 2.1 sentry类 The class sentry defines a class that 阅读全文
posted @ 2017-02-16 11:11 lgxZJ 阅读(202) 评论(0) 编辑
摘要: 1 简介 我们都知道,平时常用的那些标准流,诸如iostream、ofstream、ifstream等等,其实都是对应的basic_XXX模版的实例类。 而这些basic_XXX类模版又都是 继承自同一个基类模版 。 2 basic_ios模版 定义这个基类模版应该是出于 可重用 的目的。 2.1 阅读全文
posted @ 2017-02-15 12:56 lgxZJ 阅读(515) 评论(2) 编辑
摘要: 简介 algorithm头文件是C++的标准算法库,它主要应用在容器上。 因为所有的算法都是 通过迭代器进行操作的 ,所以 算法的运算实际上是和具体的数据结构相分离的 ,也就是说,具有 低耦合性 。 因此,任何数据结构都能使用这套算法库,只要它具有相应的迭代器类型。 算法类别 ![][algorit阅读全文
posted @ 2017-02-08 11:31 lgxZJ 阅读(603) 评论(0) 编辑
摘要: 简介 该头文件围绕迭代器展开,定义了一系列与迭代器有关的概念,但最最最重要的一点就是 它和其它容器一起实现了C++容器的Iterator设计模式 。 ![][iterator pattern image] Iterators are a generalization of pointers that阅读全文
posted @ 2017-02-05 11:03 lgxZJ 阅读(484) 评论(0) 编辑
摘要: 简介 很明显,这两个头文件分别是map、set头文件对应的unordered版本。 所以它们有一个重要的性质就是: 乱序 如何乱序 这个unorder暗示着,这两个头文件中类的底层实现 Hash 。 也是因为如此,你才可以在声明这些unordered模版类的时候,传入一个自定义的哈希函数,准确的说是阅读全文
posted @ 2017-01-26 12:22 lgxZJ 阅读(1373) 评论(0) 编辑
摘要: 简介 该头文件包含两个概念相似的容器 map 、 multimap 。 而这两个容器反映的概念就是 映射 。 这两个容器 相同 的属性有: 关联性 映射 动态增长 键(Key)唯一性 这两个 不相同 的属性是: 映射关系 ![][maps image] 容器类别 既然说到关联性容器,自然得说说标准库阅读全文
posted @ 2017-01-24 10:58 lgxZJ 阅读(460) 评论(0) 编辑
摘要: 简介 forwrad_list字面意思为 前向列表 ,但实际上它是一种单向列表,只能从单一方向遍历。 ![][forward_list image] 单向链表实现 forward_list内部是用单向列表实现的,并且设计该库的时候就是 以近乎手写的单向链表的运行效率(时间上和空间上)为目的 的。 这阅读全文
posted @ 2017-01-22 10:55 lgxZJ 阅读(284) 评论(0) 编辑
摘要: 众所周知,Qt提供了一套Model/View框架供开发者使用,Model用来提供数据, View则用来提供视觉层的显示。实际上这是一套遵循MVC设计模式的GUI框架,因为Qt还提供了默认的Delegate作为Controller来作为控制器。 ![MVC image] MVC的好处这里就不多说了,为阅读全文
posted @ 2017-09-14 23:09 lgxZJ 阅读(224) 评论(1) 编辑
摘要: 这次我们来创建一个windows本地服务,需要有以下功能: 安装服务。 卸载服务。 手动启动服务。 开机自动启动服务。 控制服务(停止、暂停、恢复、启动)。 服务概念及介绍 看下图,一切尽在不言中了( _ ): ![pic] 安装服务并开机启动 代码逻辑: 打开SCM(Service Control阅读全文
posted @ 2017-08-27 13:04 lgxZJ 阅读(260) 评论(0) 编辑
摘要: Libmicrohttpd简介 GNU Libmicrohttpd是一个用来在项目中内嵌http服务器的C语言库,它具有以下几个非常鲜明的特点: 1. C语言库,小而快。 2. API非常简单,且都是 可重入 的。 3. 兼容HTTP1.1。 4. 支持4种多线程模型(select、poll、pth阅读全文
posted @ 2017-08-13 17:14 lgxZJ 阅读(67) 评论(0) 编辑
摘要: 最近写个Qt demo,想要使用压缩和解压多个文件的功能,并不使用额外进程。网上参考了很多资料,发现只有QuaZip比较适合我的需求。但是QuaZip只提供源码,因此需要自己来编译。 QuaZip简介 QuaZIP is a simple C++ wrapper over Gilles Vollan阅读全文
posted @ 2017-07-30 23:42 lgxZJ 阅读(99) 评论(0) 编辑
摘要: 最近项目中要在Qt中使用CEF(Chromium Embedded Framework),在这里总结下其中的几个要点。 下载合适的CEF版本 关于CEF的简介我们这里就不做介绍了,下载CEF可以有2种选择: 1. 源码:强烈不建议下载源代码并编译构建(学习代码除外),下载源码需要你翻墙、有良好的网速阅读全文
posted @ 2017-07-20 22:30 lgxZJ 阅读(224) 评论(2) 编辑
摘要: 1. 私企国企 程序员找工作时一定要考虑清楚自己想要什么:进国企的话工作比较轻松,朝九晚五,但是薪资可能会低一些;进私企通常会有一份高一点的工资,但是工作时间会比较长,像我就是10:00 21:30这个时间段,加起来工作时间有12左右。本身技术公众就是基层工作,脑力劳动搬砖,强度会普遍大。 2.住宿阅读全文
posted @ 2017-07-08 23:27 lgxZJ 阅读(154) 评论(0) 编辑
摘要: NuGet是微软开发平台下的包管理软件,使用它你可以非常方便的将一些第三方的库、框架整合进自己的项目中,省去了不少麻烦的配置过程。但是从官方文档上来看,貌似NuGet对C++的支持不是很好,并且在现阶段推荐使用CoApp来简化包的构建。 1. 环境要求 NuGet 2.5 及以上(较新版本才加入了对阅读全文
posted @ 2017-06-25 16:54 lgxZJ 阅读(125) 评论(0) 编辑
摘要: 1.为什么system_error "....report error conditions originating from the operating system or low level application program interfaces." 报告 源于 操作系统 或 低层程序接口阅读全文
posted @ 2017-04-22 16:05 lgxZJ 阅读(186) 评论(0) 编辑
摘要: 预定义异常类 这个头文件包含的内容非常简单,只包含 9个异常类,均从exception类派生 ,因此我们用三张图来描述: ![logic error image] ![runtime error image] ![uses image] 这里仅解释两点: overflow : 指值的大小超过 整型 阅读全文
posted @ 2017-04-04 15:36 lgxZJ 阅读(84) 评论(0) 编辑
摘要: 内容概览 ![content image] 一图解百问,但是有些地方我们需要特别指出: 1. 类型 在这里指 通过typedef重定义 的,例如函数类型、指针类型等。 2. 在标准中是未定义具体实现的,因此它 可能是类也可能是类型 。 3. 和 是两个不同的函数,分别 判断是否有未处理异常 、 返回阅读全文
posted @ 2017-04-01 16:05 lgxZJ 阅读(462) 评论(0) 编辑