原创 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可以單獨工作。後續發現是系統自帶