c++
jyj0710
这个作者很懒,什么都没留下…
展开
-
GDB调试
添加core文件配置:echo "/var/core/%e-%p-%t" >/proc/sys/kernel/core_pattern查看多线程堆栈信息thread apply all where原创 2019-11-13 18:22:17 · 157 阅读 · 0 评论 -
c++11 lambda总结
C++ 11中的Lambda表达式用于定义并创建匿名的函数对象,以简化编程工作。Lambda的语法形式如下: [函数对象参数] (操作符重载函数参数) mutable或exception声明 ->返回值类型 {函数体} 可以看到,Lambda主要分为五个部分:[函数对象参数]、(操作符重载函数参数)、mutable或exception声明、->返...转载 2019-06-20 17:29:50 · 249 阅读 · 0 评论 -
c++11边长模板参数
#include <iostream>#include <cstdlib>void print() { // 这里结束模板递归地终止链 std::cout << "I am empty function and I am called at last.\n";}template<typename T, typename... Typ...转载 2019-06-21 15:43:29 · 435 阅读 · 0 评论 -
c++11模板工厂模式实现
class objectCreate {private: objectCreate() = default; ~objectCreate() = default;public: template<typename TN,typename ...Args> static TN* get_object(Args... args) { return new TN(args....原创 2019-06-21 17:18:38 · 821 阅读 · 0 评论 -
libssh2使用
在项目中,使用ssh连接远程服务过程中,由于服务端底层修改,导致ssh执行命令异常,方案采用模拟putty客户端方式抓取服务端回返的数据。出现以下问题:1,由于返回数据过大,因此会出现“--More--”问题,该问题,可通过模拟手动数据enter键使返回数据正常。2,当时操作步骤1时,会出现数据格式存在问题,因此可以修改API,#define MAX_PTY_SIZE (40960...原创 2019-08-28 18:30:47 · 2436 阅读 · 0 评论 -
C++11智能指针
1,在智能指针shared_ptr中,对shared_ptr返回引用,shared_ptr计数器不会增加,保持原值。2,如果在函数中,实现了shared_ptr内存分配,并且返回shared_ptr对象,那么如果函数外有引用,那么内存是不会被释放的,如果没有引用,那么回事放。...原创 2019-06-19 18:34:27 · 85 阅读 · 0 评论 -
epoll事件读写
EPOLL模型总结2010-10-17 19:20:21| 分类: 网络编程 | 标签:学习 |字号大中小 订阅 . 在Linux网络编程中,很长时间都是在使用select模型做事件触发,现在Linux在内核中加了一种新的机制,即EPOLL模型。相比与select,EPOLL最大的好处在于不会随着FD的增加而线性的降低效率。而select在内核中的实现方式为轮询集合中的每一个FD原创 2011-12-12 20:47:50 · 1020 阅读 · 0 评论 -
linux安装boost
.获得boost下载boost_1_46_1.tar.bz2解压2.boost分布boost_1_46_1.........................boost根目录 boost/.....................................所有boost头文件 libs/........................................转载 2011-12-12 20:56:42 · 664 阅读 · 0 评论 -
clock_gettime函数
关于clock_gettime函数头文件#include 函数声明int clock_gettime(clockid_t clk_id, struct timespec *tp);参数clockid_t:CLOCK_REALTIME 获取系统级的时钟,如果使用clock_settime进行时间设置则需要相应的权限。 只有CLOCK_REALTIME可转载 2011-12-16 10:56:18 · 1702 阅读 · 0 评论 -
随机数的产生
浅谈C语言中如何取随机数(转)1. 基本函数在C语言中取随机数所需要的函数是:intrand(void);void srand(unsignedint n);rand()函数和srand()函数被声明在头文件stdlib.h中,所以要使用这两个函数必须包含该头文件:#includestdlib.h>2. 使用方法 rand()函数返转载 2012-01-10 15:38:46 · 365 阅读 · 0 评论 -
linux中的正则表达式
什么是正则表达式 一个正则表达式,就是用某种模式去匹配一类字符串的一个公式。很多人因为它们看上去比较古怪而且复杂所以不敢去使用——很不幸,这篇文章也不能够改变这一点,不过,经过一点点练习之后我就开始觉得这些复杂的表达式其实写起来还是相当简单的,而且,一旦你弄懂它们,你就能把数小时辛苦而且易错的文本处理工作压缩在几分钟(甚至几秒钟)内完成。正则表达式被各种文本编辑软件、类库(例如Rogue Wa转载 2011-12-29 10:28:22 · 594 阅读 · 0 评论 -
linux c正则表达式
在很多人看来,正则表达式看上去古怪且复杂,因此往往不想去触及或使用。如果我们抛开这种“畏难”心理,在经过循序渐进地学习之后,就会发现这些复杂的表达式其实写起来还是相当简单的。一旦它被你所“驯服”,就可利用正则表达式把原需数小时辛苦且易错的文本处理工作压缩在几分钟(甚至几秒钟)内完成。正则表达式定义正则表达式(regular expression)是Linux系统中一种非常重要的字符串搜转载 2011-12-29 10:37:43 · 516 阅读 · 0 评论 -
关于epoll的一些总结
在linux的网络编程中,新的事件触发机制-epoll。相比于select,epoll最大的好处在于它不会随着监听fd数目的增长而降低效率。因为在内核中的select实现中,它是采用轮询来处理的,轮询的fd数目越多,自然耗时越多。并且,在linux/posix_types.h头文件有这样的声明:#define __FD_SETSIZE 1024表示select最多同时监听1024个转载 2012-02-20 15:15:56 · 342 阅读 · 0 评论 -
LINUX EPOLL小结
1,server端的fd不需要设置et模式我们在创建socket成功后会有个listenfd,listenfd = socket(AF_INET, SOCK_STREAM, 0)然后会把这个fd加入epoll wait队列中,网上很多没有经过验证的代码是这样写的:ev.data.fd = listenfd;ev.events=EPOLLIN|EPOLLET;epoll_ct转载 2012-02-20 15:45:13 · 350 阅读 · 0 评论 -
gcc/g++升级安装
1,用wget从http://mirrors.ustc.edu.cn/gnu/gcc/ 下载所需要版本g++ 命令:wget (Linux下载文件命令) 格式:wget+空格+参数+文件路径 wget [OPTION]… [URL]… 例:wgethttp://mirrors.ustc.edu.cn/gnu/gcc/gcc-...转载 2019-04-16 16:17:59 · 297 阅读 · 1 评论 -
指针数组创建
#include <iostream>using namespace std;void main(){//用new创建一个二维数组,有两种方法,是等价的//一:int (*p)[10] = new int[5][10];//二:int **p = new int* [5];for(int i=0;i <5;i++)p[i] = new int[10];/...转载 2019-05-08 16:05:11 · 4073 阅读 · 0 评论 -
STL模板删除
STL中的容器按存储方式分为两类,一类是按以数组形式存储的容器(如:vector 、deque);另一类是以不连续的节点形式存储的容器(如:list、set、map)。在使用erase方法来删除元素时,需要注意一些问题。 在使用 list、set 或 map遍历删除某些元素时可以这样使用:正确使用方法1 std::list List; std::li转载 2011-12-12 20:50:05 · 327 阅读 · 0 评论