原创 行爲模型-Strategy(策略)模式

一、解決的問題:     Strategy模式和Template 模式要解決的問題是相同(類似)的,都是爲了給業務邏輯(算法)具體實現和抽象接口之間的解耦。Strategy模式將邏輯(算法)封裝到一個類(contex)裏面,通過組合的方式

原创 水仙花 問題

水仙花 問題 打印出所有的“水仙花數”,所謂“水仙花數”是指一個三位數,其各位數字立方和等於該數本身。 例如:153是一個“水仙花數”,因爲153=1的三次方+5的三次方+3的三次方; 算法如下: #include <iostream>

原创 檢測TCP端口占用狀態的函數

boolCheckPortState( IN unsigned num) { PMIB_TCPTABLE_OWNER_PID pTcpTable; pTcpTable = newMIB_TCPTABLE_OWNER_PI

原创 gperftool 檢測內存泄漏

實戰 1、程序編譯帶tcmolloc 2、啓動程序 env HEAPPROFILE="/tmp/perf/test_server.perf" HEAP_PROFILE_ALLOCATION_INTERVAL=102400000 H

原创 linux編譯安裝ccls(nvim vim支持c++)

本文主要介紹如何編譯、安裝 ccls 。 ccls是符合微軟 LSP標準 的C/C++ language server。 ccls能夠提供更好的跳轉定義/引用、代碼補全、符號搜索和重命名等功能,我們趕緊安裝ccls來體驗吧! 一、

原创 沒有系統root權限 vim安裝YouCompleteMe插件(ycm不依賴系統)

編譯vim,YCM要求vim版本大於7.4.1579,所以需要先編譯vim List item List item 1. 編譯vim,YCM要求vim版本大於7.4.1579,所以需要先編譯vim 安裝虛擬機裝上centos

原创 linux 編譯安裝GCC 7.2.0

服務器默認安裝的GCC版本一般都比較低,而一些開源庫已經開始依賴高版本GCC纔有的特性。 因此我們需要編譯安裝新版本的GCC,本文以7.2.0爲例進行說明。 一、下載源碼 GCC源碼 可以在 官網 ,也可以在附近的鏡像源下載,下載

原创 編譯安裝clang+llvm

本文主要介紹如何編譯安裝clang+llvm。 一、預編譯二進制文件 可以先到 https://github.com/llvm/llvm-project/releases 查看是否有適合你係統的。 clang+llvm 開頭的壓縮

原创 'IContextMenu' : no GUID has been associated with this object

[問題描述] 用VS2008編譯windows shell時,成功;相同的方法在VS2005和vs2003下,提示錯誤: error C2787: 'IContextMenu' : no GUID has been associa

原创 檢測UDP端口占用狀態的函數

bool CheckUdpPortState(IN unsigned num ) { PMIB_UDPTABLE_OWNER_PID pUdpTable; pUdpTable = new MIB_UDPTABLE_OWNE

原创 結構型模式--Bridge橋接模式

總結面向對象設計就兩句話:一是鬆耦合,二是高內聚。面向對象系統的目標就是儘可能的提高模塊內的內聚,減少模塊間的耦合。Bridge橋接模式 點贊 收藏 分享 文章舉報 軟件之地

原创 Windows完成端口(IOCP)簡介

WINDOWS完成端口編程1、基本概念2、WINDOWS完成端口的特點3、完成端口(Completion Ports )相關數據結構和創建 4、完成端口線程的工作原理 總結 WINDOWS完成端口編程        摘要:開發網絡程序從來

原创 創建快捷方式

#include <iostream> #include <atlconv.h> #include <ShlObj.h> #include <Shlwapi.h> #pragma comment(lib, "Shlwapi.lib")

原创 Linux expect 賬戶目錄下的安裝與使用

Linux expect的安裝與使用 Expect是在Tcl的基礎上創建的,可以用來做一些Linux下無法做到交互的命令操作,可用於遠程管理服務器。 一、安裝Tcl: 1.下載源碼包: wget http://nchc.dl.so

原创 主進程退出的時候,殺死所有子進程

一、問題背景     大家可能會遇到這樣一種情況,自己編寫代碼的時候,主進程可能會創建很多子進程,但是此時主進程可能由於某種原因自己崩潰,或者認爲通過任務管理器結束掉,這時候子進程可能就會依舊存在。下面介紹一種方法可以讓到主進程無論什麼原