原创 C++11單例模板完全解決方案

可變參數單例模板類 #include <memory> #include <mutex> #include <assert.h> template<typename TYPE> class Singleton{ public:

原创 記錄一次壓測問題

壓測出的問題 同一套程序,之前放在服務器上使用,公司內部壓測和發佈給客戶使用,均未出現問題。後由於客戶業務需求,將其移植到嵌入式平臺。公司內部壓測過程中,出現三種異常。 問題1: 大併發壓測,服務進程被killed掉。 問題2:

原创 CMakeList.txt模板

CMakeList.txt模板 cmake_minimum_required(VERSION 2.6) project(Test) #設置編譯選項 set(CMAKE_CXX_FLAGS "-g3 -lpthread -lmysq

原创 火焰圖生成

火焰圖生成腳本 https://github.com/brendangregg/FlameGraph git clone https://github.com/brendangregg/FlameGraph.git #!/bin/

原创 坑池

事項 動態庫頭文件不能有虛函數 替換C++庫,將編譯的可執行文件也一起替換,否則可能導致coredump堆棧不是真實地址

原创 打印容器和枚舉

參考代碼 #include <iostream> #include <map> #include <vector> #include <sstream> using namespace std; /* * 打印map

原创 linux下添加庫的加載路徑

1.修改環境變量 export LD_LIBRARY_PATH=path_name 2.修改配置文件 修改/etc/ld.so.conf的內容在最後添加庫加載的新的路徑,然後執行:ldconfig 使配置生效。

原创 vim簡單配置

vim /etc/vim/vimrc 末尾添加 set nu set tabstop set nobackup set cursorline set ruler set autoindent

原创 linux程序性能分析

分析程序耗時 time ./test.out 結果 real 0m5.699s #總共運行時間5.699s user 0m0.016s #用戶態耗時0.016s,說明大量的時間程序是掛起狀態,如sle

原创 ubuntu安裝gcc/g++

apt-get install gcc-8 g++-8 update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-8 50 --slave /usr/bin/g++

原创 boost::asio學習記錄

使用asio捕獲信號,處理程序退出 Boost.Asio支持信號量,比如SIGTERM(軟件終止)、SIGINT(中斷信號)、SIGSEGV(段錯誤)等等。 可以創建一個signal_set實例,指定異步等待的信號量,然後當這些信

原创 編譯muduo

下載muduo代碼release-2.0 wget https://github.com/cugxchen/muduo/archive/v2.0.0.tar.gz 安裝依賴庫,boost下載源碼另裝 apt-get instal

原创 編譯boost

mingw編譯 下載boost源碼 https://www.boost.org/users/download/ gingw加入windows環境變量,cmd中輸入gcc -v可以看到版本號則安裝正確 cmd進入boost_uni

原创 ubuntu16.04系統gcc下降和升級

參考:https://blog.csdn.net/betty13006159467/article/details/78394974

原创 pstack無法使用的問題

使用pstack需要在鏈接符號中添加-g,且不能有-s;但是pstack $pid還是出現(No symbols found in ),查了許久,開始以爲是gdb版本與g++不匹配的問題,但是gdb可以單獨工作。後續發現是系統自帶