自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

秋叶原 && Mike || 麦克

比你优秀的人往往比你更努力!!!!

  • 博客(386)
  • 资源 (106)
  • 收藏
  • 关注

原创 VS开发人员命令界面查看C++类内存布局

基本使用方法VS 编译器(这里使用的是:VS 2013)可以通过”开发人员命令提示“查看 C++ 类的内存布局,非常有用。双击”VS2013 开发人员命令提示“,出现如下界面: 进入测试代码所在的目录: 测试代码如下:#include <iostream>using namespace std;class Tmp{public: static int fun() {

2016-07-28 14:16:19 17293 2

原创 Qt字符串编码处理

1、Qt字符串编码说明从Qt操作得到的字符串都是utf-8如果使用标准C(ANSI C)库函数,如果包含中文,则标准C库函数则需要GBK编码。//需要头文件#include <QTextCodec>QTextCodec *codec = QTextCodec::codecForName("GBK"); //fileName为QString类型//codec->fromUnicode();把utf

2016-07-25 10:17:04 1780

转载 C++11 中defaulted 和 deleted 函数

defaulted 函数背景问题C++ 的类有四类特殊成员函数,它们分别是:默认构造函数、析构函数、拷贝构造函数以及拷贝赋值运算符。这些类的特殊成员函数负责创建、初始化、销毁,或者拷贝类的对象。如果程序员没有显式地为一个类定义某个特殊成员函数,而又需要用到该特殊成员函数时,则编译器会隐式的为这个类生成一个默认的特殊成员函数。示例 1: class X { private: int a;

2016-05-22 21:27:35 2080 1

原创 结构体字节对齐

原则1:数据成员的对齐规则(以最大的类型字节为单位)结构体(struct)的数据成员,第一个数据成员放在offset为0的地方,以后每个数据成员存放在offset为该数据成员大小的整数倍的地方(比如int在32位机器为4字节,则要从4的整数倍地址开始存储)原则2:结构体作为成员的对齐规则如果一个结构体B里嵌套另一个结构体A,还是以最大成员类型的字节对齐,但是结构体A存储起点为A内部最大成员整数倍的地方。

2016-05-09 20:02:52 29629

原创 链表排序交换节点为什么还得单独交换next指针?

通过给链表排序,交换节点时,明明已经交换数据域,后面还得交换next指针:typedef struct Node{ int id; //数据域 struct Node *next; //指针域}Node;//链表节点排序int NodeSort(Node *pHead){ if (pHead == NULL) { return -1; } Node *pPre =

2016-04-06 17:08:54 3768 2

原创 VS关于 _CRT_SECURE_NO_WARNINGS 警告说明

在VS中调用 strcpy、strcat 等函数时会提示 _CRT_SECURE_NO_WARNINGS 警告,原因是这些函数不安全,可能会造成内存泄露等。所以建议采用带_s的函数,如strcpy_s,calloc_s。当然,如果执意使用老版本、非安全版本函数,可以使用 _CRT_SECURE_NO_WARNINGS 标记来忽略这些警告问题。方法一:在写代码的前面加上如下宏定义:#define

2016-03-24 16:45:05 8236 1

原创 #pragma once 与 #ifdef 的区别

当一个项目比较大时,往往都是分文件,这时候有可能不小心把同一个头文件 include 多次,或者头文件嵌套包含:a.h 中包含 b.h :#include "b.h"b.h 中包含 a.h:#include "a.h"main.c 中使用其中头文件:#include "a.h"int main(){ return 0;}编译上面的例子,会出现如下错误:为了避免同一个文件被includ

2016-03-01 11:01:59 4372 3

转载 C语言运算符优先级详细列表

C语言运算符优先级优先级运算符名称或含义使用形式结合方向说明1[]数组下标数组名[常量表达式]左到右--()圆括号(表达式)/函数名(形参表)--.成员选择(对象)对象.成员名--->成员选择(指针)对象指针->成员名-- 2-负号运算符-表达式右到左单目运算符~按位取反运算符~表达式++自增运算符++变量名/变量名++--自减运算符--变量名/变量名--*取值运算符*指针变量&取地址运算符&变量

2016-02-21 23:24:15 1251

转载 当你选择编程语言时你在选择什么?

编程语言流行度在说什么TIOBE编程语言社区排行榜是编程语言流行趋势的一个指标,每月更新,这份排行榜排名基于互联网上有经验的程序员、课程和第三方厂商的数量。TIOBE的排名很值得参考,但请注意这个排行榜只是反映某个编程语言的热门程度,并不能说明一门编程语言好不好。下面是2015年TIOBE的编程语言排行:Stack Overflow是最火、最专业、最有效的IT技术问答网站,很多机构或个人通过它的标

2016-01-26 08:55:34 1755

转载 MySql5 Window超详细安装教程

目录一、安装包准备二、开始安装三、验证安装四、客户端工具一、安装包准备1、下载MySql5.6http://www.mysql.com/下载如下教程,这时要选MySql On Windows的选择MysQl Installer注意下自己对应的版本,系统的位数下载Mysql安装包无需注册账号也能下载账号进去之号就可以下载 了这是下载完后的二、开始安装直接双击就开始了。选择默认的安装前会进行需要的工具

2015-12-11 01:45:15 1579

原创 C++进阶学习——单向链表的实现

示例代码如下:#include using namespace std;class Node //节点类{public: //普通构造函数:无参数,带1个参数,带2个参数 Node(){} Node(int n){ num = n; next = NULL; } Node(int n, Node *p){ num = n; next = p; } void setNum(i

2015-11-06 17:00:07 3409

转载 读研三年vs工作三年,哪个更合适?

大学四年后,毕业生都做出了自己的选择,一部分人就业,一部分人选择继续深造,不同的路径,同样都在探索人生。  直接工作和读研究生,三年间到底有何不同?有调查显示:毕业生读研主要的考虑仍为就业。“就业前景好”(34%)本月仍为国内读研第一位的理由;其次是“想去更好的大学”(26%);而“职业发展需要”和“想做学术研究”分别占19%;另外,值得注意的是,“随大流”者占4%。读研三年1.状况研究生第一年:

2015-11-02 08:17:09 4742 4

转载 盘点大佬们的第一份工作,你和雷军差了 16 年的坚持!

小编注:辍学创业、辞职创业成为时髦,大众创业、万众创新成为口号,年轻人离职率普遍偏高。人人都想成功,没人愿意踏实干活,这是这个社会的病,小编治不了,小编只能告诉你,这些功成名就的大佬当初是怎样踏实工作,为未来铺路的。雷军:第一份工作为金山干了 16 年当年金山软件刚成立不久,雷军加入,成为第6号员工,那一年他23岁,那时他第一份工作。6年之后,雷军熬到了总经理的职位,15年后金山上市,而等雷军在金

2015-10-27 08:17:21 2094 1

原创 查看Linux内核和发行版本信息

查看内核版本:uname -a查看发行版:cat /etc/issue查看发行版:lsb_release -a本文转自:http://blog.csdn.net/hfw_1987

2015-10-26 17:23:24 2069

原创 csdn添加新浪微博组件

接下来教大家如何将新浪微博的内容同步更新显示到csdn博客上:1)在新浪微博开放平台选择合适组件:http://open.weibo.com/widget2)这里选择微博秀:3)根据需要自行设置(基础设置、样式设置)4)在“样式设置”的下面,复制代码,后面会在csdn博客栏目添加此代码:5)登录CSDN博客,点击【管理博客】6)管理博客 -> 添加栏目7)在“内容输入框”粘贴前面复制的代码,“标题”可以为空,接着“保存修改”8)打完收工

2015-10-20 19:21:16 2821 1

原创 C++入门学习——虚函数表介绍

C++动态多态性是通过虚函数来实现的,虚函数允许子类(派生类)重新定义父类(基类)成员函数,而子类(派生类)重新定义父类(基类)虚函数的做法称为覆盖(override),或者称为重写。C++ 中的虚函数(Virtual Function)是通过一张虚函数表(Virtual Table)来实现的,简称为V-Table。每个含有虚函数的类有一张虚函数表,表中每一项是一个虚函数的地址, 也就是说,虚函数表的每一项是一个虚函数的指针。 没有虚函数的C++类,是不会有虚函数表的。

2015-10-19 18:02:58 16128 2

原创 Linux通过man手册查看ASCII

1)在终端下敲:man ascii2)跳入ascii的man查看手册界面中:3)在man手册字符界面中,通过键盘上下方向键翻页,按"q"即可退出。

2015-10-13 13:44:01 6536

原创 C++入门学习——explicit关键字的作用

C++语言定义了内置类型之间的几个自动转换。也可以定义如何将其他类型的对象隐式转换为我们的类类型, 或将我们的类类型的对象隐式转换为其他类型。C++提供了关键字explicit,可以阻止不应该允许的经过转换构造函数进行的隐式转换的发生。声明为explicit的构造函数不能在隐式转换中使用。普通构造函数能够被隐式调用。而explicit构造函数只能被显式调用。通常,除非有明显的理由想要定义隐式转换,否则,单形参构造函数应该为 explicit。将构造函数设置为explicit可以避免错误,并且当转换有用时

2015-10-13 12:46:19 2371 3

原创 Linux多播问题(No such device)解决方法

Linux多播问题(No such device)解决方法:这主要和当前的网络配置有关,因为多播IP地址没有加入到路由表中。解决方法:把需要用到的多播地址(如224.0.0.88)加入到路由表中,命令如下:sudo route add -net 224.0.0.88 netmask 255.255.255.255 eth0224.0.0.88:为当前使用的多播IP地址eth0:为当前使用的有效网卡其它辅助命令:sudo route del -net 224.0.0.88 netmask 25

2015-10-11 19:38:36 22037 3

转载 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 71114 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 21604 3

原创 C++进阶学习——单例模式的实现

单例模式也称为单件模式、单子模式,是使用最广泛的设计模式之一。其意图是保证一个类仅有一个实例,并提供一个访问它的全局访问点,该实例被所有程序模块共享。单例模式通过类本身来管理其唯一实例,这种特性提供了解决问题的方法。唯一的实例是类的一个普通对象,但设计这个类时,让它只能创建一个实例并提供对此实例的全局访问。唯一实例类Singleton在静态成员函数中隐藏创建实例的操作。习惯上把这个成员函数叫做In

2015-09-29 18:19:29 10614 1

原创 浅谈C++多态性

那么多态的作用是什么呢,封装可以使得代码模块化,继承可以扩展已存在的代码,他们的目的都是为了代码重用。而多态的目的则是为了接口重用。也就是说,不论传递过来的究竟是那个类的对象,函数都能够通过同一个接口调用到适应各自对象的实现方法。最常见的用法就是声明基类的指针,利用该指针指向任意一个子类对象,调用相应的虚函数,可以根据指向的子类的不同而实现不同的方法。

2015-09-29 17:57:42 1709 1

原创 线程堆栈大小的使用介绍

先来讲说线程内存相关的东西,主要有下面几条:进程中的所有的线程共享相同的地址空间。任何声明为 static/extern 的变量或者堆变量可以被进程内所有的线程读写。一个线程真正拥有的唯一私有储存是处理器寄存器。线程栈可以通过暴露栈地址的方式与其它线程进行共享。有大数据量处理的应用中,有时我们有必要在栈空间分配一个大的内存块或者要分配很多小的内存块,但是线程的栈空间的最大值在线程创建的时候就已经定

2015-09-27 17:35:21 11453 2

翻译 如何使用Valgrind memcheck工具进行C/C++的内存泄漏检测

系统编程中一个重要的方面就是有效地处理与内存相关的问题。你的工作越接近系统,你就需要面对越多的内存问题。有时这些问题非常琐碎,而更多时候它会演变成一个调试内存问题的恶梦。所以,在实践中会用到很多工具来调试内存问题。Valgrind是运行在Linux上一套基于仿真技术的程序调试和分析工具,它包含一个内核——一个软件合成的CPU,和一系列的小工具,每个工具都可以完成一项任务──调试,分析,或测试等。V

2015-09-23 19:16:02 12398

转载 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 17013

原创 C++通过TinyXML类库读写XML文件

TinyXML是一个开源的解析XML的解析库,能够用于C++,能够在Windows或Linux中编译。这个解析库的模型通过解析XML文件,然后在内存中生成DOM模型,从而让我们很方便的遍历这棵XML树。DOM模型即文档对象模型,是将整个文档分成多个元素(如书、章、节、段等),并利用树型结构表示这些元素之间的顺序关系以及嵌套包含关系。

2015-09-21 18:28:06 23559 2

转载 野生程序员的故事

野生程序员是指仅凭对计算机开发的兴趣进入这个行业,从前端到后台一手包揽,但各方面能力都不精通的人。野生程序员有很强大的单兵作战能力,但是在编入“正规军”之后,可能会不适应新的做事方法。遭遇“野生程序员”腾讯公司内部的团队很多,在团队管理上有项目和专业两个维度。也就是说,有些团队是项目维度的,整个团队共同维护一个产品,成员来自不同的职业岗位;有些团队是专业维度的,比如一个组都是前端工程师,维护不同的

2015-09-18 19:36:03 1818

原创 C++入门学习——标准模板库之map

map 是 STL 的一个关联容器,它提供一对一(其中第一个可以称为关键字,每个关键字只能在 map 中出现一次,第二个可能称为该关键字的值)的数据处理能力,由于这个特性,它完成有可能在我们处理一对一数据的时候,在编程上提供快速通道。这里简单说一下 map 内部数据的组织,map内部自建一颗红黑树(一种非严格意义上的平衡二叉树),这颗树具有对数据自动排序的功能,所以在 map 内部所有的数据都是有

2015-09-16 18:59:35 4019 1

原创 Qt入门学习——Qt 5 帮助文档的使用

学习图形界面开发,肯定离不开帮助文档的使用,因为它不像 C 语言那样就那么几个函数接口,图形接口的接口可以用海量来形容,常用的我们可能能记住,其它的真的没有必要去记,用到什么就去帮助文档查看用法。我们使用 Qt 帮助文档,主要分为这么几步:1)类使用的相关介绍2)查看所用部件(类)的相应成员函数(功能,参数,返回值)3)查看部件的信号4)查看部件的事件(所对应的虚函数如何编写)1)类使用的相关介绍

2015-09-15 18:50:14 55591 10

原创 PL/SQL Developer配置使用说明

PL/SQL Developer是一个集成开发环境,专门面向Oracle数据库存储程序单元的开发。如今,有越来越多的商业逻辑和应用逻辑转向了Oracle Server,因此,PL/SQL编程也成了整个开发过程的一个重要组成部分。PL/SQL Developer侧重于易用性、代码品质和生产力,充分发挥Oracle应用程序开发过程中的主要优势。

2015-09-14 22:35:13 11240

原创 通过gdb快速定位“段错误”的位置

有些时候我们在一段 C/C++ 代码的时候,由于对一个非法内存进行了操作,在程序运行的过程中,出现了段错误。遇到这种问题是非常无语的,只是提示了"段错误",接着什么都没有,如果我们一味的去看代码找太疼苦了,因为我们都相信自己写的代码没问题,现实就是现实。接着,我们可能通过打印来定位到段错误的位置,这样会有个问题,如果代码量大,我们需要打印很多信息才能找到“段错误”的位置(这种办法实在太笨了),而往往有些时候,“段错误”光靠打印不一定能找出来。接下来,给大家介绍通过gdb快速定位“段错误”的位置。

2015-09-12 21:05:13 7483 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

原创 Qt5获取系统目录

Qt4使用 QDesktopServices::storageLocation(QDesktopServices::xxxx) 来获取一些系统目录,Qt5则要改成QStandardPaths::writableLocation(QStandardPaths::xxxx)。所需头文件:#include 然后可以通过如下语句获取不同的路径:QString QStanda

2015-08-31 20:51:10 3554

原创 Qt入门学习——常用部件介绍

这里先给大家介绍 Designer(界面设计器)中例举的常用部件,以便对 Qt 的部件有一定认识,其具体用法后面再作介绍。Layouts:布局管理组Spacers:空间间隔组(弹簧)buttons:按钮组Item Views:项目视图组Item Widgets:项目部件组Containers:容器组Input Widgets:输入部件组Display Widgets:显示部件组

2015-08-28 15:46:09 4653 1

原创 Qt入门学习——Qt Creator 中 ui 文件和 Qt 代码关系

通过《Qt Creator的使用》的学习,我们可以借助 Designer(界面设计器)快速设计界面。当我们编译 Qt 程序代码,Qt Creator 用 uic 工具把 ui 文件的内容转换成 C++ 代码,在工程目录同一级目录的 build- 目录下自动生成 ui_类名.h 文件,如本例子中的 ui_mywidget.h,是由 mywidget.ui 利用uic 工具转换而成,只要通过Designer 修改了图形界面里的内容,ui_mywidget.h 也会跟着自动同步更新内容,ui_mywidget.

2015-08-28 10:20:19 170591 15

原创 Qt入门学习——Qt Creator的使用

通过前面《Qt快速入门(vim纯代码编写)》的学习得知,只有搭建好了 Qt 环境(Qt库和开发工具),即可通过 vim 纯代码编写 Qt 程序,再借助 Qt 里的 qmake 工具编译 Qt 代码。但是,如果 Qt 程序较为庞大,通过上面的方式编写较为麻烦(大大影响编写效率),接下来给大家介绍 Qt 的一个集成开发环境(IDE)——Qt Creator,利用 Qt Creator 可以更加快速及轻易的完成 Qt 开发任务。这里我们需要注意的是,Qt Creator 只是辅助我们快速开发 Qt 程序,并不是

2015-08-27 11:02:59 88545 3

原创 Qt入门学习——Qt快速入门(vim纯代码编写)

写代码前,先需搭建环境,详情请看:《Qt 5.4.2 ubuntu环境搭建》。打开终端,通过vim first_qt.cpp新建文件,由于Qt代码为C++代码,所以,新建文件的后缀为.cpp。写完代码后,我们需要通过g++编译器(C++编译器)把此代码编译为可执行程序,但由于此代码使用的函数不是C++标准库,而是Qt库,编译时需要指定其所依赖的Qt库,这样比较麻烦。我们可以利用Qt提供的qmake工具来编译Qt的源代码。此工程文件缺少一个很重要的东西:模块的添加。Qt 5 定义了多个模块,每个模块包含

2015-08-26 11:15:30 15038 2

原创 Linux系统编程——进程同步与互斥:System V 信号量

信号量广泛用于进程或线程间的同步和互斥,信号量本质上是一个非负的整数计数器,它被用来控制对公共资源的访问。编程时可根据操作信号量值的结果判断是否对公共资源具有访问的权限,当信号量值大于 0 时,则可以访问,否则将阻塞。PV 原语是对信号量的操作,一次 P 操作使信号量减1,一次 V 操作使信号量加1。在实际应用中两个进程间通信可能会使用多个信号量,因此 System V 的信号量以集合的概念来管理,具体操作和 Posix 信号量大同小异,详情请点此链接:http://blog.csdn.net/te

2015-08-20 19:22:20 165009 2

转载 浅析为什么 char 类型的范围是 : -128~+127

在C语言中, signed char 类型的范围为-128~127,每本教科书上也这么写,但是没有哪一本书上(包括老师)也不会给你为什么是-128~127,这个问题貌似看起来也很简单容易, 以至于不用去思考为什么,不是有一个整型范围的公式吗: -2^(n-1)~2^(n-1)-1 n为整型的内存占用位数,所以int类型32位 那么就是 -(2^31)~2^31 -1 即 -2147483648~2147483647。

2015-07-24 08:52:23 39099 2

标准模板库之map示例代码

C++入门学习——标准模板库之map,相关教程链接如下: http://blog.csdn.net/tennysonsky/article/details/48497983

2015-09-17

C语言排序实例(选择、冒泡、插入、折半、快速)

C语言排序实例(选择、冒泡、插入、折半、快速),相关教程链接如下: http://blog.csdn.net/tennysonsky/article/details/48209813

2015-09-04

ui 文件和 Qt 代码关系测试代码

Qt入门学习——Qt Creator 中 ui 文件和 Qt 代码关系,相关教程链接如下: http://blog.csdn.net/tennysonsky/article/details/48030333

2015-08-28

利用 Qt Creator 建立空白工程文件示例代码

利用 Qt Creator 建立空白工程文件示例代码,相关教程链接如下: http://blog.csdn.net/tennysonsky/article/details/48004119

2015-08-26

Qt快速入门(vim纯代码编写)测试代码

Qt入门学习——Qt快速入门(vim纯代码编写),相关教程链接如下: http://blog.csdn.net/tennysonsky/article/details/47981259

2015-08-26

进程同步与互斥:System V 信号量示例代码

进程同步与互斥:System V 信号量,相关使用教程链接如下: http://blog.csdn.net/tennysonsky/article/details/47811201

2015-08-20

标准库 string 类的使用示例代码

C++入门学习——标准库 string 类的使用,相关教程链接如下: http://blog.csdn.net/tennysonsky/article/details/46791111

2015-07-13

QWidget样式表设置背景示例代码

QWidget 直接派生类的样式表不起作用的解决办法,相关教程链接如下: http://blog.csdn.net/tennysonsky/article/details/46653571

2015-06-26

标准模板库之vector示例代码

C++入门学习——标准模板库之vector,相关教程链接如下: http://blog.csdn.net/tennysonsky/article/details/46627413

2015-06-25

C++入门学习——模板示例代码

C++入门学习——模板,相关教程链接如下: http://blog.csdn.net/tennysonsky/article/details/46625115

2015-06-24

Qt4 项目迁移到 Qt5 问题测试代码

为了尽可能演示 Qt 4 程序在 Qt 5 编译时会出现的问题,我们这里使用了一个Windows Xp下面基于 Qt 4.7 创建的 Qt Gui 应用程序。

2015-06-18

有名信号量示例代码

Linux系统编程——进程同步与互斥:有名信号量,相关教程链接如下: http://blog.csdn.net/tennysonsky/article/details/46500417

2015-06-15

无名信号量示例代码

Linux系统编程——线程同步与互斥:无名信号量,相关教程链接如下: http://blog.csdn.net/tennysonsky/article/details/46496201

2015-06-15

互斥锁示例代码

Linux系统编程——线程同步与互斥:互斥锁,相关教程链接如下: http://blog.csdn.net/tennysonsky/article/details/46494077

2015-06-14

线程池示例代码

Linux系统编程——线程池,相关教程链接如下: http://blog.csdn.net/tennysonsky/article/details/46490099

2015-06-14

线程同步与互斥:读写锁示例代码

Linux系统编程——线程同步与互斥:读写锁,相关教程链接如下: http://blog.csdn.net/tennysonsky/article/details/46485735

2015-06-14

线程私有数据示例代码

Linux系统编程——线程私有数据,相关教程链接如下: http://blog.csdn.net/tennysonsky/article/details/46452953

2015-06-11

线程示例代码

Linux系统编程——多线程实现多任务,相关教程链接如下: http://blog.csdn.net/tennysonsky/article/details/46438525

2015-06-10

共享内存示例代码

Linux系统编程——进程间通信:共享内存,相关教程链接如下: http://blog.csdn.net/tennysonsky/article/details/46425485

2015-06-09

共享内存的属性结构体

共享内存的属性结构体 struct shmid_ds

2015-06-09

STC8-USBCDC模拟串口收发数据

STC8_USBCDC模拟串口收发数据源代码

2024-01-04

protobuf导入定义(import)

protobuf导入定义(import),相关教程:http://blog.csdn.net/tennysonsky/article/details/73985893

2017-06-30

protobuf枚举和包的使用

protobuf枚举和包的使用,相关教程:http://blog.csdn.net/tennysonsky/article/details/73921295

2017-06-29

repeated限定修饰符的使用

repeated限定修饰符的使用,相关教程:http://blog.csdn.net/tennysonsky/article/details/73921025

2017-06-29

protobuf常用序列化和反序列化API

protobuf常用序列化和反序列化API,相关教程:http://blog.csdn.net/tennysonsky/article/details/73920767

2017-06-29

base64编码和解码

base64编码和解码,相关教程,请看:http://blog.csdn.net/tennysonsky/article/details/73613934

2017-06-23

md5编码的使用

md5的使用,相关教程,请看:http://blog.csdn.net/tennysonsky/article/details/73614238

2017-06-23

Win32OpenSSL-1_0_1g.rar

Win32OpenSSL-1_0_1g.rar

2017-01-16

使用HTTP协议实现通信

HTTP协议浅析(下): 使用HTTP协议实现通信,相关教程:http://blog.csdn.net/tennysonsky/article/details/53909564

2016-12-28

C语言可变参数的使用

C语言可变参数的使用,相关教程链接:http://blog.csdn.net/tennysonsky/article/details/53818527

2016-12-22

C++单向链表的实现

C++进阶学习——单向链表的实现,相关教程链接如下: http://blog.csdn.net/tennysonsky/article/details/49685199

2015-11-06

虚函数表介绍示例代码

C++入门学习——虚函数表介绍,相关教程链接如下:http://blog.csdn.net/tennysonsky/article/details/49252679

2015-10-19

C++中explicit作用示例代码

C++入门学习——explicit关键字的作用,相关教程链接如下:http://blog.csdn.net/tennysonsky/article/details/49096977

2015-10-13

Linux多播组测试代码

Linux多播组测试代码,相关教程链接如下: http://blog.csdn.net/tennysonsky/article/details/44493407

2015-10-11

C++通过jsoncpp类库读写JSON文件示例代码

C++通过jsoncpp类库读写JSON文件,相关教程链接如下: http://blog.csdn.net/tennysonsky/article/details/48809835

2015-09-29

线程基类的设计示例代码

C++进阶学习——线程基类的设计(Linux),相关教程链接如下: http://blog.csdn.net/tennysonsky/article/details/48809725

2015-09-29

C++单例模式示例代码

C++进阶学习:单例模式的实现示例代码,相关教程链接如下: http://blog.csdn.net/tennysonsky/article/details/48809541

2015-09-29

JsonCpp源码

JSON是一个轻量级的数据定义格式,比起XML易学易用,而扩展功能不比XML差多少,用之进行数据交换是一个很好的选择 JSON的全称为:JavaScript Object Notation ,顾名思义,JSON是用于标记javascript对象的,详情参考http://www.json.org/。 JsonCpp为解析json的第三方库来,JsonCpp是比较出名的c++解析库,在json官网也是首推的。

2015-09-29

线程堆栈大小的使用介绍示例代码

线程堆栈大小的使用介绍,相关教程链接如下: http://blog.csdn.net/tennysonsky/article/details/48767415

2015-09-27

C++通过TinyXML类库读写XML文件示例代码

C++通过TinyXML类库读写XML文件,相关教程链接如下: http://blog.csdn.net/tennysonsky/article/details/48630005

2015-09-21

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除