8 hackernelor

尚未进行身份认证

暂无相关简介

等级
TA的排名 26w+

vc++程序崩溃后不生成dump文件

这几天给自己的程序通过SetUnhandleExceptionFilte加dump机制。实测时发现不是所有的崩溃,都能生成dump文件:比如assert(false);语句就没有生成dump文件。上网查了一下发现跟我有相同困惑的人还不少,比如这篇"很多软件通过设置自己的异常捕获函数,捕获未处理的异常,生成报告或者日志(例如生成mini-dump文件),达到Release版本

2017-10-16 15:54:48

C++中const的作用

1、定义常量,一旦被定义,不能再被修改。2、修饰函数形参,形如:intadd(constintc,constintd)作用:确保函数不能修改形参的值3、放在函数末尾,形如:intadd(intc,intd)const作用:只有类中的成员函数才能将const放在末尾(放在普通函数末尾编译器会报错),使成员函数不能修改任何的成员变量(mutable修

2017-07-09 19:18:53

C++使用STL中map需要注意的地方

1、map中存放的数据为key-value(键-值对),数据结构为红黑树。2、当key-value为非指针类型时,map会自动分配内存存储数据(是原数据的一份拷贝);因此,如果原数据保存在动态分配的内存空间中,内存空间delete以后,不会影响map的使用;此时调用的是自定义类的拷贝构造函数。3、向map中插入的数据按key值从小到大自动排序,因此key值需要有比较功能;如果key为自定义

2017-07-09 18:47:44

为什么Redis内存不宜过大

这几年的线上业务表明,redis这个内存数据库,它的高性能、稳定性都是不用怀疑的,但我们塞进redis的数据过多,内存过大,那如果出问题,那它可能会带给我们的就是灾难性(我想很多公司都遇到过)这里列举一下,我们遇到的一些问题:1主库宕机先来看一下主库宕机容灾过程:如下图在主库宕机的时候,我们最常见的容灾策略为“切主”。具体为从该集群剩余从库中选出一个从库并将

2016-12-25 03:07:22

Redis全内存运行

在某些使用场景中,我们并不需要使用Redis的持久化,反而需要发挥redis的内存数据库特性,实现完全内存运行,达到需要的高性能。Redis本身支持持久化,通过在一定时间间隔或触发操作,将内存中的数据同步到磁盘来保证持久化。Redis支持两种持久化方式,一种是 Snapshotting(快照),保存为dump.rdb文件,也是默认方式,另一种是Append-onlyfile(缩写

2016-12-25 02:51:18

Linux下高并发socket最大连接数所受的各种限制

1、修改用户进程可打开文件数限制在Linux平台上,无论编写客户端程序还是服务端程序,在进行高并发TCP连接处理时,最高的并发数量都要受到系统对用户单一进程同时可打开文件数量的限制(这是因为系统为每个TCP连接都要创建一个socket句柄,每个socket句柄同时也是一个文件句柄)。可使用ulimit命令查看系统允许当前用户进程打开的文件数限制:[speng@as4~]$uli

2016-09-29 09:30:16

gettid 和pthread_self的区别

Linux中,每个进程有一个pid,类型pid_t,由getpid()取得。Linux下的POSIX线程也有一个id,类型pthread_t,由pthread_self()取得,该id由线程库维护,其id空间是各个进程独立的(即不同进程中的线程可能有相同的id)。Linux中的POSIX线程库实现的线程其实也是一个进程(LWP),只是该进程与主进程(启动线程的进程)共享一些资源而已,比如

2016-08-12 17:27:14

使用log4cplus库,编译错误undefined reference to `log4cplus::Logger::Logger(log4cplus::Logger&&)'解决方法

在虚拟机中安装log4cplus库,编译测试程序的时候总是报“undefinedreferenceto`log4cplus::Logger::Logger(log4cplus::Logger&&)'”错误,经过两天的摸索,终于找到了解决方法:是因为执行“./configure”的时候未加参数导致的,情景如下:我写的测试程序用的C++11的一些功能,所以用g++编译的时候需要加选项“-st

2016-04-17 19:40:32
勋章 我的勋章
    暂无奖章