- 博客(15)
- 资源 (106)
- 收藏
- 关注
转载 为什么你要写博客?
一个选择我知道现在可能说这话有点不合时宜,毕竟博客时代都已经过去了,再号召大家用过就好像时的东西是不是有点逆流而上?我曾经也问过自己这个问题,但是我觉得,博客时代过去跟我们要开博客是没有多大关系的,就好像你的读书时代已经过去你就不再读书一样。判断一件事情值不值得去做有一个方法:在一张白纸的左边写不值得做的原因,然后在右边写值得做的原因,写完一比较,一权衡,自然能够得出结果。大家都成年人了,你会觉得...
2015-09-23 13:55:08 23790 5
转载 C++通过jsoncpp类库读写JSON文件
JSON是一个轻量级的数据定义格式,比起XML易学易用,而扩展功能不比XML差多少,用之进行数据交换是一个很好的选择。JSON的全称为:JavaScript Object Notation ,顾名思义,JSON是用于标记javascript对象的,详情参考http://www.json.org/。本教程选择第三方库jsoncpp来解析json, jsoncpp是比较出名的c++解析库,在...
2015-09-29 19:08:28 71105 5
原创 C++进阶学习——线程基类的设计(Linux)
此示例是在Linux环境下(使用Linux系统编程线程相关函数)测试,文件说明如下:ThreadBase.cpp, ThreadBase.h为线程基类ThreadDerive.cpp, ThreadDerive.h为测试派生类main.cpp为测试程序ThreadBase.h内容如下:#ifndef __THREADBASE_H__#define __THREADBASE_H__#includ
2015-09-29 18:37:14 21603 3
原创 C++进阶学习——单例模式的实现
单例模式也称为单件模式、单子模式,是使用最广泛的设计模式之一。其意图是保证一个类仅有一个实例,并提供一个访问它的全局访问点,该实例被所有程序模块共享。单例模式通过类本身来管理其唯一实例,这种特性提供了解决问题的方法。唯一的实例是类的一个普通对象,但设计这个类时,让它只能创建一个实例并提供对此实例的全局访问。唯一实例类Singleton在静态成员函数中隐藏创建实例的操作。习惯上把这个成员函数叫做In
2015-09-29 18:19:29 10614 1
原创 浅谈C++多态性
那么多态的作用是什么呢,封装可以使得代码模块化,继承可以扩展已存在的代码,他们的目的都是为了代码重用。而多态的目的则是为了接口重用。也就是说,不论传递过来的究竟是那个类的对象,函数都能够通过同一个接口调用到适应各自对象的实现方法。最常见的用法就是声明基类的指针,利用该指针指向任意一个子类对象,调用相应的虚函数,可以根据指向的子类的不同而实现不同的方法。
2015-09-29 17:57:42 1708 1
原创 线程堆栈大小的使用介绍
先来讲说线程内存相关的东西,主要有下面几条:进程中的所有的线程共享相同的地址空间。任何声明为 static/extern 的变量或者堆变量可以被进程内所有的线程读写。一个线程真正拥有的唯一私有储存是处理器寄存器。线程栈可以通过暴露栈地址的方式与其它线程进行共享。有大数据量处理的应用中,有时我们有必要在栈空间分配一个大的内存块或者要分配很多小的内存块,但是线程的栈空间的最大值在线程创建的时候就已经定
2015-09-27 17:35:21 11445 2
翻译 如何使用Valgrind memcheck工具进行C/C++的内存泄漏检测
系统编程中一个重要的方面就是有效地处理与内存相关的问题。你的工作越接近系统,你就需要面对越多的内存问题。有时这些问题非常琐碎,而更多时候它会演变成一个调试内存问题的恶梦。所以,在实践中会用到很多工具来调试内存问题。Valgrind是运行在Linux上一套基于仿真技术的程序调试和分析工具,它包含一个内核——一个软件合成的CPU,和一系列的小工具,每个工具都可以完成一项任务──调试,分析,或测试等。V
2015-09-23 19:16:02 12397
转载 TIME_WAIT状态(2MSL)的作用
主动关闭的Socket端会进入TIME_WAIT状态,并且持续2MSL时间长度,MSL就是maximum segment lifetime(最大分节生命期),这是一个IP数据包能在互联网上生存的最长时间,超过这个时间将在网络中消失。MSL在RFC 1122上建议是2分钟,而源自berkeley的TCP实现传统上使用30秒,因而,TIME_WAIT状态一般维持在1-4分钟。
2015-09-23 14:54:25 16997
原创 C++通过TinyXML类库读写XML文件
TinyXML是一个开源的解析XML的解析库,能够用于C++,能够在Windows或Linux中编译。这个解析库的模型通过解析XML文件,然后在内存中生成DOM模型,从而让我们很方便的遍历这棵XML树。DOM模型即文档对象模型,是将整个文档分成多个元素(如书、章、节、段等),并利用树型结构表示这些元素之间的顺序关系以及嵌套包含关系。
2015-09-21 18:28:06 23558 2
转载 野生程序员的故事
野生程序员是指仅凭对计算机开发的兴趣进入这个行业,从前端到后台一手包揽,但各方面能力都不精通的人。野生程序员有很强大的单兵作战能力,但是在编入“正规军”之后,可能会不适应新的做事方法。遭遇“野生程序员”腾讯公司内部的团队很多,在团队管理上有项目和专业两个维度。也就是说,有些团队是项目维度的,整个团队共同维护一个产品,成员来自不同的职业岗位;有些团队是专业维度的,比如一个组都是前端工程师,维护不同的
2015-09-18 19:36:03 1816
原创 C++入门学习——标准模板库之map
map 是 STL 的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在 map 中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。这里简单说一下 map 内部数据的组织,map内部自建一颗红黑树(一种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在 map 内部所有的数据都是有
2015-09-16 18:59:35 4017 1
原创 Qt入门学习——Qt 5 帮助文档的使用
学习图形界面开发,肯定离不开帮助文档的使用,因为它不像 C 语言那样就那么几个函数接口,图形接口的接口可以用海量来形容,常用的我们可能能记住,其它的真的没有必要去记,用到什么就去帮助文档查看用法。我们使用 Qt 帮助文档,主要分为这么几步:1)类使用的相关介绍2)查看所用部件(类)的相应成员函数(功能,参数,返回值)3)查看部件的信号4)查看部件的事件(所对应的虚函数如何编写)1)类使用的相关介绍
2015-09-15 18:50:14 55584 10
原创 PL/SQL Developer配置使用说明
PL/SQL Developer是一个集成开发环境,专门面向Oracle数据库存储程序单元的开发。如今,有越来越多的商业逻辑和应用逻辑转向了Oracle Server,因此,PL/SQL编程也成了整个开发过程的一个重要组成部分。PL/SQL Developer侧重于易用性、代码品质和生产力,充分发挥Oracle应用程序开发过程中的主要优势。
2015-09-14 22:35:13 11237
原创 通过gdb快速定位“段错误”的位置
有些时候我们在一段 C/C++ 代码的时候,由于对一个非法内存进行了操作,在程序运行的过程中,出现了段错误。遇到这种问题是非常无语的,只是提示了"段错误",接着什么都没有,如果我们一味的去看代码找太疼苦了,因为我们都相信自己写的代码没问题,现实就是现实。接着,我们可能通过打印来定位到段错误的位置,这样会有个问题,如果代码量大,我们需要打印很多信息才能找到“段错误”的位置(这种办法实在太笨了),而往往有些时候,“段错误”光靠打印不一定能找出来。接下来,给大家介绍通过gdb快速定位“段错误”的位置。
2015-09-12 21:05:13 7476 1
原创 C语言排序实例(选择、冒泡、插入、折半、快速)
C语言排序实例(选择、冒泡、插入、折半、快速):void select_sort(int *a, int n); //选择法排序void bubble_sort(int *a, int n); //冒泡法排序void insert_sort(int *a, int n); //插入法排序void shell_sort(int *a, int n); //折半排序(希尔排序)void quick_sort(int *a, int low, int high); //快速排序
2015-09-04 16:09:05 2473
标准模板库之map示例代码
2015-09-17
C语言排序实例(选择、冒泡、插入、折半、快速)
2015-09-04
ui 文件和 Qt 代码关系测试代码
2015-08-28
利用 Qt Creator 建立空白工程文件示例代码
2015-08-26
Qt快速入门(vim纯代码编写)测试代码
2015-08-26
进程同步与互斥:System V 信号量示例代码
2015-08-20
标准库 string 类的使用示例代码
2015-07-13
QWidget样式表设置背景示例代码
2015-06-26
标准模板库之vector示例代码
2015-06-25
C++入门学习——模板示例代码
2015-06-24
Qt4 项目迁移到 Qt5 问题测试代码
2015-06-18
有名信号量示例代码
2015-06-15
无名信号量示例代码
2015-06-15
互斥锁示例代码
2015-06-14
线程池示例代码
2015-06-14
线程同步与互斥:读写锁示例代码
2015-06-14
线程私有数据示例代码
2015-06-11
线程示例代码
2015-06-10
共享内存示例代码
2015-06-09
protobuf导入定义(import)
2017-06-30
protobuf枚举和包的使用
2017-06-29
repeated限定修饰符的使用
2017-06-29
protobuf常用序列化和反序列化API
2017-06-29
base64编码和解码
2017-06-23
使用HTTP协议实现通信
2016-12-28
C++单向链表的实现
2015-11-06
虚函数表介绍示例代码
2015-10-19
C++中explicit作用示例代码
2015-10-13
Linux多播组测试代码
2015-10-11
C++通过jsoncpp类库读写JSON文件示例代码
2015-09-29
线程基类的设计示例代码
2015-09-29
C++单例模式示例代码
2015-09-29
JsonCpp源码
2015-09-29
线程堆栈大小的使用介绍示例代码
2015-09-27
C++通过TinyXML类库读写XML文件示例代码
2015-09-21
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人