c++
文章平均质量分 62
摩羯ez
这个作者很懒,什么都没留下…
展开
-
Qt4.8.5在Windows7下的安装全过程
1.首先在该链接处下载 Qt library和 Qt creater(http://qt-project.org/downloads), 我使用的 Qt library是qt-win-opensource-4.8.5-mingw.exe, Qt creater是qt-creator-windows-opensource-2.7.2.exe;转载 2014-05-24 10:08:15 · 1289 阅读 · 2 评论 -
C++多态
1. 什么是多态多态是C++中的一个重要的基础,可以这样说,不掌握多态就是C++的门外汉。然而长期以来,C++社群对于多态的内涵和外延一直争论不休。大有只见树木不见森林之势。多态到底是怎么回事呢?说实在的,我觉的多态这个名字起的不怎么好(或是译的不怎么好)。要是我给起名的话,我就给它定一个这样的名字--“调用’同名函数’却会因上下文不同会有不同的实现的一种机制”。这个名字长是长了点儿,可是转载 2016-05-30 15:36:35 · 482 阅读 · 0 评论 -
c++ 封装ipv6类
一. socket编程函数1.1 基本函数 socket、bind、listen、connect、read/send、write/recv、close函数。1.2 信息获取函数 1)支持ipv6和ipv4 gethostbyname getpeername getsockname getaddrinfo 2原创 2016-07-01 18:30:46 · 2873 阅读 · 0 评论 -
getaddrinfo函数ipv6的应用
1..通过域名转换为点分十进制ipv6地址addrinfo转换为sockaddr_in62.程序#include #include #include #include #include #include #include int main(int argc, char **argv){ if (argc != 2) { fprintf(stderr, "U原创 2016-07-05 17:59:43 · 4338 阅读 · 2 评论 -
c++中string类的详解
通过在网站上的资料搜集,得到了很多关于string类用法的文档,通过对这些资料的整理和加入一些自己的代码,就得出了一份比较完整的关于string类函数有哪些和怎样用的文档了!下面先罗列出string类的函数有哪一些,然后再罗列出函数的原型,最后到代码的实现标准C++中提供的string类得功能也是非常强大的,一般都能满足我们开发项目时使用。现将具体用法的一部分罗列如下,只起一个抛砖转载 2016-08-21 15:04:13 · 401 阅读 · 0 评论 -
openssl下https实现流程
WeTest 导读用epoll编写一个高并发网络程序是很常见的任务,但在epoll中加入ssl层的支持则是一个不常见的场景。腾讯WeTest服务器压力测产品,在用户反馈中收到了不少支持https协议的请求。基于此,本文介绍了在基于epoll的高并发机器人框架中加入openssl,实现对https支持时的基本实现思路。一、背景2014年,谷歌在其官方博客中发布公告称,为了打造转载 2016-12-09 09:57:37 · 12892 阅读 · 0 评论 -
socket阻塞与非阻塞,同步与异步、I/O模型
目录(?)[-]1 概念理解2 Linux下的五种IO模型阻塞IO模型非阻塞IO模型 IO复用模型信号驱动IO异步IO模型5个IO模型的比较3 selectpollepoll简介socket阻塞与非阻塞,同步与异步1. 概念理解 在进行网络编程时,我们常常见到同步(Sync)/异步(Async),阻塞(Block)/非阻塞(Unblo转载 2017-01-16 17:20:30 · 342 阅读 · 0 评论 -
socket网络编程基础
一.socket编程函数1.socket函数原型:int socket(int domain, int type, int protocol);作用: 创建一个端点并返回一个socket描述符。参数解析:domain: 指定一个会话域名,选择一个协议族用于这个会话。包含于中。目前默认格式包括 AF_UNIX,AF_LOCAL AF_INET AF_INET原创 2017-03-07 17:41:56 · 330 阅读 · 1 评论 -
Linux下进程间通信之消息队列
1.消息队列 1)创建消息队列 原型: int msgget(key_t key, int msgflg); 作用: 创建或打开消息队列。 参数: key:设置队列关键值,消息队列发送端和接收端使用同一值。 msgflg:可以与IP原创 2017-03-12 22:40:29 · 279 阅读 · 0 评论 -
Clion安装配置教程 [C语言编程for Windows]
参考http://www.sunmey.cn/thread-129-1-1.html 1.Clion简介: 产品概述: CLion 是一款专为开发C及C++所设计的跨平台IDE。它是以IntelliJ为基础设计的,包含了许多智能功能来提高开发人员的生产力。这种强大的IDE帮助 开发人员在Linux、OS X和Windows上来开发C/C++,同时它还使用智能编辑器来提高代码质量、自动代码重构并且深...转载 2018-05-05 20:38:10 · 4647 阅读 · 0 评论 -
pthread_cancel用法及常见问题
先看下面一段程序:[cpp] view plaincopy#include #include #include #include void* func(void *) { pthread_setcancelstate(PTHREAD_CANCEL_ENABLE, NULL);转载 2016-05-27 14:13:04 · 3927 阅读 · 3 评论 -
Linux线程属性总结
目录(?)[-]一线程的作用域scope二线程的绑定状态binding state三线程的分离状态detached state四线程的优先级priority五线程的栈地址stack address六线程的栈大小stack size七线程的栈保护区大小stack guard size八线程的调度策略schedpolicy九线程并行级别concurrency转载 2016-04-18 16:17:40 · 358 阅读 · 0 评论 -
大话设计模式之四 代理模式
什么是代理模式?在GOF的《设计模式:可复用面向对象软件的基础》一书中对代理模式是这样说的:为其他对象提供一种代理以控制对这个对象的访问。结合上面的游戏代理的例子和下面的图,我们来进行分析一下。以前你是这样玩游戏:现在有了游戏代理,你是这样玩游戏:代理服务器干了什么?它代替你去和游戏服务器进行交互。它访问游戏服务器的速度比你使用校园网访问游戏服务器的速度快很原创 2015-11-01 22:24:12 · 468 阅读 · 0 评论 -
epoll处理并发
epoll优点:1. 支持一个进程打开大数目的socket描述符。2. IO效率不随FD数目增加而线性下降,传统的select/poll每次调用都会线性扫描全部的集合,导致效率呈现线性下降。3. 使用mmap加速内核与用户空间的消息传递。无论是select,poll还是epoll都需要内核把FD消息通知给用户空间,如何避免不必要的内存拷贝就很重要,在这点上,epoll是通过转载 2015-03-19 17:30:25 · 702 阅读 · 0 评论 -
在MFC程序中使用控制台输出打印信息
转载自:http://blog.csdn.net/timidsmile/article/details/8122499请参考:http://www.cnblogs.com/gadfly/archive/2010/10/02/1841197.html使用控件变量把 CEdit与变量关联起来打印输出信息实在是太不方便了。。。。╮(╯▽╰)╭整理如下:转载 2015-04-20 17:22:56 · 2044 阅读 · 0 评论 -
C++标准库和标准模板库
C++强大的功能来源于其丰富的类库及库函数资源。C++标准库的内容总共在50个标准头文件中定义。在C++开发中,要尽可能地利用标准库完成。这样做的直接好处包括:(1)成本:已经作为标准提供,何苦再花费时间、人力重新开发呢;(2)质量:标准库的都是经过严格测试的,正确性有保证;(3)效率:关于人的效率已经体现在成本中了,关于代码的执行效率要相信实现标准库的大牛们的水平;(4)良好的编程风格:采用行业转载 2015-07-04 10:23:32 · 382 阅读 · 0 评论 -
gcc/g++ 静态动态库 混链接.
转载自:http://blog.csdn.net/wangxvfeng101/article/details/15336955我的环境: centos6 x64. gcc4.4.7在使用gcc/g++ 编译程序时我们希望指向一些库是使用静态的链接方式. 另外的一些是动态的方式.我以boost 为例.如果我们要使用静态库则是这样的:# g++ main转载 2015-09-25 09:54:06 · 502 阅读 · 0 评论 -
Linux下内存泄露检测valgrind
Valgrind简单用法Valgrind的主要作者Julian Seward刚获得了今年的Google-O'Reilly开源大奖之一──Best Tool Maker。让我们一起来看一下他的作品。Valgrind是运行在Linux上一套基于仿真技术的程序调试和分析工具,它包含一个内核──一个软件合成的CPU,和一系列的小工具,每个工具都可以完成一项任务──调试,分析,或测试等。Valgri转载 2015-09-07 12:10:55 · 385 阅读 · 0 评论 -
大话设计模式之二 策略模式(Strategy)
组成—抽象策略角色: 策略类,通常由一个接口或者抽象类实现。—具体策略角色:包装了相关的算法和行为。—环境角色:持有一个策略类的引用,最终给客户端调用。Strategy(抽象策略类):1、 定义了一个公共接口,各种不同的算法以不同的方式实现这个接口,Context使用这个接口调用不同的算法,一般使用接口或抽象类实现。ConcreteStr原创 2015-10-31 21:59:55 · 425 阅读 · 0 评论 -
大话设计模式c++实现之一 简单工厂模式
简单工厂模式解释: 简单工厂模式(Simple Factory Pattern)属于类的创新型模式,又叫静态工厂方法模式(Static FactoryMethod Pattern),是通过专门定义一个类来负责创建其他类的实例,被创建的实例通常都具有共同的父类。简单工厂模式的UML图: 简单工厂模式中包含的角色及其相应的职责如下:原创 2015-10-31 17:35:09 · 445 阅读 · 0 评论 -
STL模板map erase函数使用注意
STL的map表里有一个erase方法用来从一个map中删除掉指令的节点eg1:map mapTest;typedef map::iterator ITER;ITER iter=mapTest.find(key);mapTest.erase(iter); 像上面这样只是删除单个节点,map的形为不会出现任务问题,但是当在一个循环里用的时候,往往会被误用,那是因为原创 2015-10-08 16:35:48 · 458 阅读 · 0 评论 -
HttpRouter项目中的问题
1.在开发过程中,使用vector数组,编译链接时没有问题,但是运行时new一个包含该vector数组的类再调用该类的其它成员时报错(内存访问错误)。原因:没有包含vector数组的头文件#include 我也是醉了~~~ 这个不应该是在编译的时候报错的么。原创 2015-09-22 20:02:44 · 717 阅读 · 0 评论 -
clion cmakelists.txt配置实现跳转及编写入门
参考配置:# cmake_minimum_required(VERSION 3.11)project(redis_4_0_9 C)set(CMAKE_C_STANDARD 99)#add_executable(redis_4_0_9 ./src/siphash.c)set( SOURCE_FILES ./src/adlist.c ./s...原创 2018-05-05 21:38:33 · 17275 阅读 · 0 评论