原创 Thread參數傳遞問題

一、類的普通成員函數作爲Thread的參數 class threadtest { private: public: threadtest() { } ~threadtest() { } // 類的普通成員

原创 vscode遠程開發環境搭建

文章目錄 一、Windows端的環境配置   本地主機需要安裝ssh-client,可以使用git安裝,步驟如下: 先安裝gitbash,並添加到環境變量,F:\gitbash\Git\usr\bin 進入.ssh文件,如果文件

原创 cmake知識點總結

  CMake的所有的語句都寫在一個叫 CMakeLists.txt 的文件中。當 CMakeLists.txt 文件確定後,可以用 ccmake 命令對相關的變量值進行配置。這個命令必須指向 CMakeLists.txt 所在的

原创 win10關掉擴展屏幕後,打開原來在擴展屏幕上的程序後主屏幕找不到怎麼辦?IIS擴展屏後斷開擴展屏主屏看不到

  一般可以這樣操作,按Alt+空格,然後按M,然後用上下左右鍵把窗口移動到能看到的地方,再按回車。有些第三方的軟件可能不能用,大部分都可以這樣做。

原创 單一職責模式之橋模式(Bridge)

文章目錄一、概念二、動機三、源代碼講解四、使用橋模式進行改進五、類圖結構六、要點總結 一、概念   將抽象部分(業務功能)與實現部分(平臺實現)分離,使它們都可以獨立地變化。 ——《設計模式》GoF 二、動機   由於某些類型的固

原创 對象性能模式之單例模式(Singleton)

文章目錄一、概念二、動機三、單例模式的實現四、類圖結構五、要點總結 一、概念   保證一個類僅有一個實例,並提供一個該實例的全局訪問點。—《設計模式》GoF 二、動機   在軟件系統中,經常有這樣一個特殊的類,必須保證它們在系統中

原创 對象創建模式之工廠方法模式(Factory Method)

文章目錄一、概念二、動機三、源代碼講解四、使用工廠方法模式進行改進五、類圖結構六、要點總結 一、概念   定義一個用於創建對象的接口,讓子類決定實例化哪一個類。Factory Method使得一個類的實例化延遲(目的:解耦,手段:

原创 Linux系統相關的基礎問題(空間、內存、庫、鏈接、環境變量)

文章目錄一、用戶空間與內核空間1、用戶空間與內核空間2、用戶態與內核態二、物理內存(地址)與虛擬內存(地址)1、早期的內存實現(1)在早期的計算機中,運行一個程序的特點:(2)在早期的內存實現方式中出現的問題:2、虛擬地址技術(1

原创 C++11多線程知識點總結

文章目錄一、多線程的基本概念1、進程與線程的區別和聯繫2、併發,並行的區別3、同步與異步,阻塞與非阻塞方式4、線程阻塞的常見情況二、線程的幾種狀態轉換三、多線程與單線程1、多線程與單線程的區別2、多線程是否一定比單線程效率高?四、

原创 從輸入URL到頁面加載完成發生了什麼?

文章目錄一、URL二、緩存三、DNS域名解析四、TCP連接五、瀏覽器向服務器發送HTTP請求六、瀏覽器接收響應七、頁面渲染八、關閉TCP連接或繼續保持連接 1. 瀏覽器的地址欄輸入URL並按下回車。 2. 瀏覽器查找當前URL

原创 protobuf語法風格

文章目錄一、代碼風格二、文件格式三、包四、消息類型和字段五、repeated字段六、枚舉類型七、服務 一、代碼風格 每一行的代碼長度不要超過80。 使用兩個空格進行縮進。 二、文件格式   文件命名應該採用蛇形命名法(

原创 protobuf使用實例

文章目錄一、描述proto文件二、編譯proto文件三、生成protobuf API四、使用API寫入和讀取數據五、編譯所有的CPP文件六、編譯和運行中遇到的問題 一、描述proto文件   proto文件名稱爲addressbo

原创 protobuf編碼和存儲方式詳解

文章目錄一、消息結構二、Wire Type = 0時的編碼和存儲方式2.1 編碼方式2.1.1 Varints編碼2.1.2 ZigZag編碼2.2 存儲方式三、Wire Type = 2時的編碼和存儲方式3.1 編碼方式3.2

原创 Boost庫的安裝與使用

一、下載Boost庫   下載地址:https://www.boost.org/users/download/ 二、編譯Boost庫 cd boost_1_72_0 # 修改Python2.7的路徑,改爲:/usr/include