自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 有关使用cJSON包解析或者创建JSON时遇到的错误和解决办法

一、undefined reference/tmp/cc7DP8ZD.o: In function `parse_number':cJSON.c:(.text+0x48f): undefined reference to `pow'/tmp/cc7DP8ZD.o: In function `print_number':cJSON.c:(.text+0x5b4): undefined refer

2017-06-22 00:20:44 6091

原创 Gof23种设计模式+简单工厂设计模式总结(二)

一、结构型设计模式代理模式1、代理模式概述 为其他对象提供代理一种以控制对这个对象的访问。在某些情况下,一个对象不适合或者不能直接引用另一个对象,而代理对象可以在客户端和目标对象之间起到中介作用。2、示例代码#define _CRT_SECURE_NO_WARNING#include <iostream>#include <string>using namespace std;class G

2017-06-14 18:47:35 307

原创 select、poll、epoll用法区别与联系

一、多路IO转接原理图二、多路IO转接select1.select介绍Select监听的文件描述符受限于FD_SETSIZE,一般为1024,单纯改变进程打开的文件描述个数并不能改变select监听的文件描述符个数,由于select采用的是轮询机制,故而如果客户端过多的话,效率会比较很低。2.select控制原语函数原型:int select(int nfds, fd_set *readfds, f

2017-06-14 02:44:06 571

原创 线程池实现原理及案列

一、原理图我们都知道,线程池和多线程的区别就是一个是业务来了动态地去产生线程,一个是把线程事先产生出来放到一个池子中,当要使用线程的时候,从池子中拿出来,当用完后,再把线程放回池子中,但它远远没有这么简单。首先看看原理图,当客户端请求连接时,服务器监听到之后会将其放入到任务队列中,线程再从任务队列中拿走任务,这是两个典型的生产者消费者模型。对于后面的线程池来说,一开始初始化的时候,根据设计的不同,回

2017-06-14 01:56:45 303

原创 Red Hat Enterprise下安装docker

要想在红帽子上安装Docker,确信你满足前提条件,然后在安装Docker。一、先决条件1、DockerEE仓库的URL为了安装企业版本的Docker,你需要明白你DockerEE的URL与你的试验和签署联系到一起,下面是获取这些信息的途径和方法。 1)、输入这个URL地址进入这个网站: https://store.docker.com/?overlay=subscriptions。2)、在Do

2017-06-09 15:26:55 3070

原创 Gof23种设计模式+简单工厂设计模式总结(一)

一、软件设计模式的种类1.创建型模式如何创建对象2.结构型模式如何实现类和对象的组合3.行为型模式类和对象怎么样交互以及怎么样分配职责二、设计模式的原则高内聚、低耦合1.单一职责原则类的职责比较单一,对外只提供一种功能,引起类变化的原因应该只有一个2.开闭原则添加新的功能时,是通过添加代码实现的,而不是去修改源码3.里氏替换原则任何抽象类出现的地方都可以用他的实现类来进行替换,实际就是虚拟机

2017-06-06 19:01:26 517

原创 const知识点总结

一.const修饰常量和defin定义常量的区别用define定义常量,是没有类型检查的,只是define所定义的宏变量在预处理的时候进行替换,在需要使用的地方进行拷贝一份。const修饰变量有类型检查,需要一定的内存空间,存放在静态区。在程序运行过程中const定义的变量只有一份拷贝,而define宏常量却有多份拷贝,故而运行时宏定义消耗的内存要比const消耗的内存多。总结如下: define

2017-06-05 10:02:21 340

原创 Vitual在继承中修饰成员函数

代码:#include <iostream>using namespace std;class A{public: virtual void print() { cout << "A::print" << endl; } ~A() { cout << "xiegouA" << endl; }};class B

2017-06-01 18:01:24 318

原创 C++类定义对构造和析构的调用的区别

一.代码class Base{public: Base() { cout << "Base" << endl; } ~Base() { cout << "~Base" << endl; }private: char str[100];};void main(){ cout << "..sss.."

2017-06-01 17:57:15 298

翻译 Windows平台上Docker安装与使用

1.在windows平台上安装dockerWindows平台上的docker的安装包含docker在Windows平台上运行的所有的依赖包,这里最主要介绍安装前需要考虑的因素和在Windows平台上怎么样下载和安装docker。如果你已经安装了docker,并且准备启动它了。那么你可以跳过此步去学习怎么使用命令行操作docker,docker的配置和docker工具的使用。查看版本发布的注意事项请看

2017-06-01 07:35:02 29195 8

转载 QT的元对象机制

一.QT的元对象系统QT的元对象系统提供提供了两个关键服务:信号/槽、运行时的类型信息和动态属性系统(内省机制)。内省机制对于实现信号和槽是必须的,并且允许应用程序员在程序运行时获得“元信息”(包括被对象支持的信号和槽的列表,以及这些信号/槽所在的类的名称)。内省机制同时支持“道具”(对于QtDesigner)和文本翻译(国际化),它还是Qt应用程序脚本(Qt Script for Applicat

2017-06-01 07:01:35 631

原创 编译过程,make,makefile,cmake,qmake,cmakelist总结

一、关于C语言的编译过程预编译编译链接1.-E预编译gcc –E 参数代表预编译 gcc -o a1.c -E a.c 预编译a.c,预编译之后的文件名叫a1.c 预编译功能之一:将#include包含的头文件做简单的文本替换 在C语言中#开头的语句又叫预编译指令 预编译功能之二:将代码中的注释删除2.-c编译编译的作用是把文本的c语言编译为二进制的指令 gcc -o a.o -c

2017-06-01 06:39:55 1703

原创 关于QT中的工程文件.pro的介绍

一.Pro文件原型代码QT += core gui networkgreaterThan(QT_MAJOR_VERSION, 4): QT += widgetsTARGET = udpTEMPLATE = appSOURCES += main.cpp\ udp1.cpp \ udp2.cpp \ mybutton.cppHEADERS += udp1.h

2017-06-01 05:57:23 1054

空空如也

空空如也

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

TA关注的人

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