![](https://img-blog.csdnimg.cn/20201014180756928.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
C++
true_man111
这个作者很懒,什么都没留下…
展开
-
转载几种socket通信模式讲的很透彻的文章
Epoll原理解析:https://blog.csdn.net/armlinuxww/article/details/92803381原创 2021-05-26 14:37:16 · 143 阅读 · 0 评论 -
跨平台(windows和unix系列)读写锁
未添加文件包含//**********************************************************************//处理读写锁的区别//**********************************************************************#ifdef WINDOWS//适用于vista以原创 2015-12-04 14:55:09 · 592 阅读 · 0 评论 -
性能分析工具gprof介绍
http://blog.chinaunix.net/uid-25194149-id-3215487.html#不知道这是在哪里找的了,感谢各位~性能分析工具gprof介绍Ver:1.0目录1. GPROF介绍 42. 使用步骤 43. 使用举例 43.1 测试环境 43.2 测试代码转载 2016-01-14 14:26:34 · 422 阅读 · 0 评论 -
在ACE中使用epoll
没试过, 不知道可不可行, 先转载一下:http://blog.csdn.net/derryzhang/article/details/5929546很显然,文章的标题决定了我们是在linux下使用ACE。我们知道ACE在linux下缺省是用select来实现Reactor的,epoll相对于select的好处这里就不再啰嗦了,我们直接讲操作步骤: 第转载 2016-02-17 13:47:40 · 484 阅读 · 0 评论 -
编译4.7.2的gcc的针对libstdc++的configure解读
http://www.tuicool.com/articles/nMjmayWhen configuring libstdc++, you'll have to configure the entire gccsrcdir directory. Consider using the toplevel gcc configuration option --enable-langu转载 2016-05-12 18:17:50 · 2513 阅读 · 0 评论 -
Linux下利用backtrace追踪函数调用堆栈以及定位段错误
http://www.linuxidc.com/Linux/2012-11/73470.htm一般察看函数运行时堆栈的方法是使用GDB(bt命令)之类的外部调试器,但是,有些时候为了分析程序的BUG,(主要针对长时间运行程序的分析),在程序出错时打印出函数的调用堆栈是非常有用的。在glibc头文件"execinfo.h"中声明了三个函数用于获取当前线程的函数调用堆栈。转载 2016-05-13 10:49:41 · 297 阅读 · 0 评论 -
windows上mysql在VS中的使用
第一步, 安装: 只需要安装mysql服务器以及向导配置mysql环境, 配置环境最后一步的出错处理:http://jingyan.baidu.com/article/3f16e003c54e152590c10378.htmlmysql安装最后一步error nr.1045解决方法mysql安装最后一步error nr.1045搞得转载 2016-09-22 08:35:26 · 769 阅读 · 0 评论 -
windows下生成core dump文件
http://blog.csdn.net/xiarendeniao/article/details/7306282下面是从pandion里面摘取的两个文件MiniDumper.h[cpp] view plain copy#ifndef MINIDUMPER_H #define MINIDUMPER_H转载 2016-11-17 09:43:45 · 6828 阅读 · 0 评论 -
google perftools分析程序性能
http://www.cnblogs.com/GODYCA/archive/2013/05/28/3104281.html1、功能简介它的主要功能就是通过采样的方式,给程序中cpu的使用情况进行“画像”,通过它所输出的结果,我们可以对程序中各个函数(得到函数之间的调用关系)耗时情况一目了然。在对程序做性能优化的时候,这个是很重要的,先把最耗时的若干个操作优化好,程序的整转载 2016-01-21 12:03:06 · 589 阅读 · 0 评论 -
很好的一个分析bug的文章,供以后疑难bug参考,转一下:一次segfault错误的排查过程
http://blog.csdn.net/zhaohaijie600/article/details/45246569转载 2016-12-15 10:36:49 · 806 阅读 · 0 评论 -
Google performance Tools (gperftools) 使用心得
http://www.cnblogs.com/my_life/articles/4683313.htmlhttp://www.cnblogs.com/persistentsnail/p/3294843.html gperftools是google开发的一款非常实用的工具集,主要包括:性能优异的malloc free内存分配器tcmalloc;基于tcmalloc转载 2016-12-15 11:04:06 · 2147 阅读 · 0 评论 -
一个使用MongoDB和Fuse开发的虚拟文件系统
https://sourceforge.net/projects/gridfs-fuse/files/?source=navbar以前基于这个Demo开发了一个文件系统, 记录一下。原创 2016-12-30 10:46:36 · 690 阅读 · 0 评论 -
gdb 调试
http://blog.chinaunix.net/uid-24439730-id-144108.html 在使用GDB调试程序的时候,经常需要暂停程序,以查看程序执行情况和上下文。GDB 提供了多种暂停程序的方式,包括 break point, watch point, catch point, signals 和 thread stop. 在此这些概念直接饮用,转载 2017-03-02 16:10:21 · 278 阅读 · 0 评论 -
C++容易出错的操作符重载
// Vector2D.h#pragma once#include using namespace std;struct Vec2D{double m_vecX;double m_vecY;};class Vector2D{public:Vector2D(void);Vector2D(const Vector2D原创 2017-03-13 14:46:34 · 398 阅读 · 0 评论 -
Linux头文件和库文件添加环境变量与GCC编译器添加INCLUDE与LIB环境变量
http://blog.csdn.net/crazyhacking/article/details/7371917对所有用户有效在/etc/profile增加以下内容。只对当前用户有效在Home目录下的.bashrc或.bash_profile里增加下面的内容:(注意:等号前面不要加空格,否则可能出现 command not found)#在PATH中找到可执行转载 2017-05-04 11:39:49 · 1308 阅读 · 0 评论 -
log4Plus使用
http://www.aichengxu.com/cyvyan/1674274.htm之前接触的java项目中,日志操作基本上都是用的log4j,以前的c项目中也用过zlog。但是最近参与C++的一个项目,自己网上做了一些选型,所以自己记录一下。选型比较:log4cxx:Apache的产品,属于apache的子项目之一,由log4j移植过来的。移植过来的东西多数都有一个转载 2017-06-06 12:40:38 · 1984 阅读 · 0 评论 -
boost库读写xml
#include #include #include void RiskParams::LoadConfigFromFile(){CString strCurAppPath;XTradeUtil::GetCurrentAppPath(strCurAppPath);char szConfigPath[MAX_PATH];memset(szConfi原创 2017-08-03 16:16:30 · 595 阅读 · 0 评论 -
VS中调试DLL工程的正确方法
http://blog.csdn.net/srzhz/article/details/7033985版权声明:本文为博主原创文章,未经博主允许不得转载。1 将DLL工程设置为启动工程(只有这样调试器才会挂接到DLL工程上)2 右键单击DLL工程,选择属性(Properties)进入属性设置页面。在左边Congifure Properties下转载 2016-01-04 13:00:03 · 1383 阅读 · 0 评论 -
轻量级的线程同步
///快速的线程锁机制#ifdef WINDOWStypedef CRITICAL_SECTION Quick_Lock;#define InitQuickLock(lock) InitializeCriticalSectionAndSpinCount(&lock, 0x00400000)#define DeleteQuickLock(lock) DeleteCrit原创 2015-11-18 09:24:05 · 464 阅读 · 0 评论 -
高并发网络编程之epoll详解
http://www.cricode.com/3499.html转载 2014-09-11 09:54:57 · 4776 阅读 · 1 评论 -
线程特定数据(学习)
http://blog.csdn.net/cogbee/article/details/99902731、首先,为什么要使用线程特定数据呢?什么是线程特定数据。这牵涉到重入函数和不可重入函数。重入函数就是在多个进程或者线程中,可以同时进行运行的函数,可重入函数就是不可以同时运行的函数,这个主要是可能多个进程或线程共享了一个变量,这个变量只有一个,这样同时运行的时候,就会转载 2015-01-08 10:48:52 · 342 阅读 · 0 评论 -
makefile 增加宏定义
http://blog.csdn.net/xukai871105/article/details/370791590.前言 从学习C语言开始就慢慢开始接触makefile,查阅了很多的makefile的资料但总感觉没有真正掌握makefile,如果自己动手写一个makefile总觉得非常吃力。所以特意借助博客总结makefile的相关知识,通过例子说明makefile的具转载 2015-01-29 14:10:31 · 613 阅读 · 0 评论 -
makefile文件的一个模板
CC=g++CCOPTS=-g -rdynamic -I. -I/usr/local/includeLDOPTS=-L/usr/local/lib -L/usr/local/lib64 -L. -lmongoclient -lpthread -lboost_thread -lboost_filesystem -lboost_system \ -lboost_program_原创 2015-01-29 14:13:01 · 361 阅读 · 0 评论 -
C++ set自定义排序规则(nyist 8)
http://blog.csdn.net/liang5630/article/details/9768703C++的容器大多数都是自动排序的,所以你使用这些容器时,你加入的元素类型必须是可以比较大小的,如果不是,则需要自定义排序规则,例如你自定义的结构体:[cpp] view plaincopy#include #include using na转载 2015-02-15 13:54:43 · 495 阅读 · 0 评论 -
GDB调试Core文件(程序异常产生的文件)
http://blog.csdn.net/duanbeibei/article/details/6923716程序运行发生异常退出,比如segment错误,此时可以利用系统生成的core文件,配合GDB来定位问题。问题程序: segment.c[cpp] view plaincopy#include #include #inc转载 2015-02-13 15:41:32 · 2113 阅读 · 0 评论 -
linux测量时间的各种方法比较
http://blog.csdn.net/nanjunxiao/article/details/89630071.time_ttime(time_t*t);time()函数返回自1970年1月1号0时0分0秒到当前所经过的时间,最小时间精度为秒,粗粒度的时间测量可以考虑使用这个函数,因为它够简单。2.clock_tclock(void);clock(转载 2015-02-28 15:03:44 · 714 阅读 · 0 评论 -
Map以自定义类做为键值
http://blog.csdn.net/acdnjjjdjkdckjj/article/details/6329469map在STL中的定义template , class Alloc = alloc> 第一个参数Key是关键字类型第二个参数T是值类型第三个参数Compare是比较函数(仿函数)第四个参数是内存配置对象map内部存储机制实际是以红黑树为转载 2015-02-15 13:46:48 · 376 阅读 · 0 评论 -
c++虚函数、成员变量内存布局
http://blog.csdn.net/ywh147/article/details/9378601大家都知道c++的虚函数有个虚表,那这个需要具体在哪呢,在程序的代码段还是数据段的?一个类有成员变量,成员变量在代码段内是怎么分布的呢?如何根据一个对象指针调用某个虚函数?如何根据一个对象的指针直接修改成员变量?如果生成多个对象,那是不是会为每一个对象都生成一份虚表?转载 2015-03-15 16:30:19 · 526 阅读 · 1 评论 -
C++的强制类型转换
http://www.cnblogs.com/CBDoctor/archive/2011/12/06/2277918.htmlc/c++强制类型转换Q:什么是C风格转换?什么是static_cast, dynamic_cast 以及 reinterpret_cast?区别是什么?为什么要注意?A:转换的含义是通过改变一个变量的类型为别的类型从而改变该变量的表示方式。转载 2015-05-02 15:22:51 · 323 阅读 · 0 评论 -
白话经典算法系列之七 堆与堆排序
http://blog.csdn.net/morewindows/article/details/6709644/堆排序与快速排序,归并排序一样都是时间复杂度为O(N*logN)的几种常见排序方法。学习堆排序前,先讲解下什么是数据结构中的二叉堆。二叉堆的定义二叉堆是完全二叉树或者是近似完全二叉树。二叉堆满足二个特性:1.父结点的键值总是大于或等于(小转载 2015-05-01 08:47:03 · 329 阅读 · 0 评论 -
gdb调试core文件
http://blog.csdn.net/hzhsan/article/details/38227647编写服务器端程序,很容易遇到Crash问题,比较幸运的是Linux提供了core file,保留了Crash的现场。有时候,根据当前的调用栈,并且打印出当前栈的变量就可以分析出crash的原因,但是,有时候看到调用栈却束手无策。下面就介绍自己通过GDB的几转载 2015-09-07 10:12:02 · 555 阅读 · 0 评论 -
使用GDB调试core文件时的一些基本知识
http://m.blog.csdn.net/blog/wangfeng2500/42819285一、错误代号 一般出现core会由以下几种类型的错误触发生成: 1. SIGSEGV 段错误(信号11),说白了就是访问了非法内存地址,无论是超出进程范围的(地址越界)还是系统不存在的内存访问(指针指向空) 2. SIGABRT转载 2015-09-07 10:19:39 · 576 阅读 · 0 评论 -
log4cxx的linux下的安装
http://biancheng.dnbcw.info/c/338654.htmlLog4cxx是开放源代码项目Apache Logging Service的子项目之一,用于为C++程序提供日志功能,以便开发者对目标程序进行调试和审计。要使用log4cxx,首先要从官网下载,官网是http://logging.apache.org/log4cxx/index.html,转载 2015-09-18 14:07:19 · 547 阅读 · 0 评论 -
linux下socket读写缓冲区
一:linux下查看系统socket读写缓冲区大小配置:http://blog.csdn.net/herecles/article/details/81460171. tcp 收发缓冲区默认值[root@ www.linuxidc.com]# cat /proc/sys/net/ipv4/tcp_rmem 4096 87380 4161536转载 2015-11-13 14:32:10 · 2674 阅读 · 0 评论 -
GDB常用命令参考
http://www.cricode.com/3609.html转载 2014-09-26 12:35:43 · 430 阅读 · 0 评论