- 博客(16)
- 资源 (9)
- 收藏
- 关注
原创 Lambda 表达式使用介绍
Lambda表达式介绍Lambda表达式是一种描述函数对象的机制,它的主要应用是描述某些具有简单行为的函数,Lambda表达式也可以称为匿名函数。Lambda常见的表达式如下:方式一:[ captures ] ( params ) -> ret { body } 方式二:[ captures ] ( params ) { body } 方式三:[ captures ] { b...
2018-02-25 22:04:48 435
原创 OpenOffice xml文件格式协议参考资料
微软ppt在2007版本之前采用的是二进制格式,在2007版本之后openoffice协议协议参考资料如下: http://c-rex.net/projects/samples/ooxml/e1/index.html http://officeopenxml.com/drwSp-text-lstPr.php...
2018-02-24 16:11:46 2005
转载 libreoffice软件设计介绍
LibreOffice的前身是OpenOffice,关于软件架构知识可参考该文章 http://blog.csdn.net/oldmtn/article/details/8609221
2018-02-24 15:47:03 1096
原创 文件流(fstream/ifstream/ofstream)作为类成员变量的初始化方式
文件流介绍在标准模板库中,常见的文件流对象有fstream、ifstream、ofstream三种,我们可以用文件流的方式去操作文件,比如写文件和读文件,文件流类继承图如下: ifstream继承于istream,实现高层文件流输入(input)操作,它能读取文件中的数据到变量,可以用于读文件,其默认的openmode是in。ofstream继承于ostream,实现高层文件流输出(...
2018-02-24 15:39:30 12900 1
原创 浮点数比较工具类
在libreoffice代码中看到浮点数比较API,记录于此,供大家分享。源码:#include <iostream>#include <math.h>class fTools{public: /// Get threshold value for equalZero and friends static double getSmallVa...
2018-02-23 18:19:51 730
原创 office 文件解析
http://www.cnblogs.com/mayswind/archive/2013/03/17/2962205.html http://www.cnblogs.com/mayswind/archive/2013/03/31/2991271.html
2018-02-23 17:14:26 1687
转载 Base64编码及其作用
最重要的是1.便于网络传输。2.不可见性。(一)Encoding VS. Encryption很多人都以为编码(Encoding)和加密(Encryption)是同一个意思。编码和加密都是对格式的一种转换,但是它们是有区别的。编码是 公开的,比如下面要介绍的Base 64编码,任何人都可以解码;而加密则相反,你只希望自己或者特定的人才可以对内容进行解密。(二)Base 64编码...
2018-02-23 16:28:01 1566
转载 自旋锁和互斥锁的区别
POSIX threads(简称Pthreads)是在多核平台上进行并行编程的一套API。线程同步是并行编程中非常重要的通讯手段,其中最典型的应用就是用Pthreads提供的锁机制(lock)来对多个线程之间的共享临界区(Critical Section)进行保护(另一种常用的同步机制是barrier)。Pthreads提供了多种锁机制:Mutex(互斥量):pthread_mutex...
2018-02-23 15:17:56 1086
转载 window 下编译LibreOffice源码
最权威的社区链接:https://wiki.documentfoundation.org/Development/BuildingOnWindows也许英文好的人直接看wiki上的说明就能很容易的编译并搭建好LibreOffice。编译过程中遇到任何问题,欢迎加qq群:174768656一、下载并安装Cygwin链接:http://www.cygwin.com/ win7(32位)...
2018-02-11 19:06:52 2474 1
原创 c++11 call_once 使用方法
call_once是c++11中引入的新特性,用于保证某个函数只调用一次,即使是多线程环境下,它也可以可靠地完成一次函数调用。特别适用于某个初始化只执行一次的场景。若调用call_once一切顺利,将会翻转once_flag变量的内部状态,再次调用该函数时,所对应的目标函数不会被执行。若调用call_once中发生异常,不会翻转once_flag变量的内部状态,再次调用该函数时,目标函数仍...
2018-02-11 18:53:05 6205
原创 C++11标准库chrono库使用
chrono是C++11新加入的方便时间日期操作的标准库,它既是相应的头文件名称,也是std命名空间下的一个子命名空间,所有时间日期相关定义均在std::chrono命名空间下。通过这个新的标准库,可以非常方便进行时间日期相关操作。 chrono库主要包含了三种类型:duration, time_point 和 clock。Duration(时间间隔)chrono库中用一个dura...
2018-02-10 17:21:43 8296
原创 CBN_EDITCHANGE和EN_CHANGE的区别
CEdit类提供了Windows编辑控件中的功能。编辑控件是一个子窗口矩形,用户可以向其中输入文本;CComboBox类封装了Windows组合框。组合框由一个列表框和一个静态控件(或编辑控件)组成。在这两个类中都有EditChange的控件事件,分别是编辑框的EN_CHANGE事件和CBN_EDITCHANGE事件,这两个事件有所区别,下面逐一介绍。EN_CHANGE这个消息...
2018-02-08 09:48:42 6945
原创 c++11 yield函数的使用
yield函数时c++11的新特性,它在std::this_thread::yield命名空间中实现,函数声明如下:void yield() noexcept; 其作用是当前线程“放弃”执行,让操作系统调度另一线程继续执行比如说你的线程需要等待某个操作完成,如果你直接用一个循环不断判断这个操作是否完成就会使得这个线程占满CPU时间,这会造成资源浪费。这时候你可以判断一次操作是否完成
2018-02-03 12:50:17 20433 4
原创 c++11 thread类的简单使用
一个thread对象就代表一个线程执行,当对象创建完成后,线程函数就开始执行,下面这段话是c++11的thread类介绍。An initialized thread object represents an active thread of execution; Such a thread object is joinable, and has a unique thread id.A d
2018-02-01 22:47:42 1505
转载 c++11中thread join和detach的区别
线程状态:在一个线程的生存期内,可以在多种状态之间转换,不同的操作系统可以实现不同的线程模型,定义许多不同的线程状态,每个状态还可以包含多个子状态,但大体来说,如下几种状态是通用的:1)就绪:参与调度,等待被执行,一旦被调度选中,立即开始执行2)运行:占用CPU,正在运行中3)休眠:暂不参与调度,等待特定事件发生4)中止:已经运行完毕,等待回收线程资源线程环境:线程存在
2018-02-01 21:53:06 17714 2
转载 do {...} while (0) 在宏定义中的作用
如果你是一名C程序员,你肯定很熟悉宏,它们非常强大,如果正确使用可以让你的工作事半功倍。然而,如果你在定义宏时很随意没有认真检查,那么它们可能使你发狂,浪费N多时间。在很多的C程序中,你可能会看到许多看起来不是那么直接的较特殊的宏定义。下面就是一个例子:#define __set_task_state(tsk, state_value) \ do { (tsk)-
2018-02-01 21:30:21 644
C/C++/JAVA/Python代码统计工具
2018-12-17
基于boost.asio库的C++http/https web server
2018-07-27
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人