c++11 std::call_once只调用一次函数,类似单例模式
std::call_once 保证函数或者一些代码段在并发或者多线程的情况下,始终只会被执行一次,Demo如下: include <iostream> include <thread>static std::once_flag g_once_flag
c++11 std::call_once只调用一次函数,类似单例模式
std::call_once 保证函数或者一些代码段在并发或者多线程的情况下,始终只会被执行一次,Demo如下: include <iostream> include <thread>static std::once_flag g_once_flag
使用GDB调试程序或coredump时,直接 p vec 打印的是vector内部成员的信息,不能直观输出元素的内容。通过打印内部元素地址内容的方式,查看vector元素内容,不限gcc版本:(gdb)
VS编译dll时报编译错误:fatal error LNK1561: entry point must be defined
VS编译dll时报编译错误:fatal error LNK1561: entry point must be defined1、可能是连接命令中的 subsystem不正确,在Project Properties->Linker->System中设置,改为
分享一段LinuxC C++程序只能启动一份实例的实现代码,原理是通过文件锁互斥实现,最重要的是考虑了不同用户运行同一程序互斥的场景,已经过充分的测试,可直接用于实际项目开发。
google mock分享(全网最全最好的gmock文档,没有之一)
ContentMatcher(匹配器)基数(Cardinalities)行为(Actions)序列(Sequences)Google Mock 入门概述Google Mock使用Mock实践Google Mock Cookbook什么是Mock?Google Moc
1、使用top命令查看内存占用情况,物理内存占用过高时,也重点看一下Swap交换内存占用情况,如果交换内存也开始被使用了,那一定是程序的内存泄漏导致的,Linux使用valgrind工具跟
fopen 引起的 malloc(): memory corruption的原因分析
其实不一定是fopen引起的,但引起这个异常的真正元凶通常会在fopen附近,而且直到执行fopen时,调用了内部的malloc,才会抛出这个异常, 这个异常通常是由于数组空间的开辟有问题
C++简练易用的线程池(threadpool)及上下文隔离的无锁线程池(isolated_threadpool)完整实现
本文主要介绍两种C++线程池模型完整代码,经过实战考验的,效率已极致优化的代码,可直接用于实际项目开发。
介绍了C++常用的几种排序算法:选择排序(SelectSort),冒泡排序(BubbleSort),快速排序(QuickSort),归并排序(MergeSort),堆排序(HeapSort),插入排序(InsertSort),希尔排序(ShellSort)
C/C++头文件string与string.h的区别及Mac平台的特殊性
strlen() 等函数需要string h头文件,不过MacOS下clang编译器比较特殊,必须string,可以用宏区分Mac平台。
Eclipse CDT为啥编译选项添加了依赖的头文件路径就是找不到头文件?
Eclipse CDT为啥编译选项添加了依赖的头文件路径就是找不到头文件?为啥Eclipse CDT越用越卡?