原创 Linux進程間通信五 Posix 信號量簡介與示例

1. 信號量簡介 信號量用於進程或線程間同步,Posix信號量是一個非負整型,只有兩種操作,加一(sem_post)和減一(sem_wait),如果信號量值爲0,sem_wait默認阻塞。 Posix信號量有兩種,有名信號量和無名信號量,

原创 Linux進程間通信四 Posix 消息隊列簡介與示例

目錄 1. Posix 消息隊列簡介 2. API接口 2.1 創建或打開消息隊列 2.2 發送消息 2.3 接收消息 2.4 獲取、設置消息隊列屬性 2.5 關閉消息隊列 2.6 刪除消息隊列 2.7 註冊消息通知 3. 示例 3.1

原创 Linux進程間通信六 Posix 共享內存簡介與示例

1. 共享內存簡介 共享內存主要用於不同進程之間相互通信,因爲操作的是同一塊地址,不需要內核和用戶層之間數據拷貝,屬於最快的進程間通信方式,不過,爲了防止讀寫衝突,一般需要額外的同步手段。之前介紹了SystemV共享內存的使用方式,今天介

原创 Linux進程間通信三 System V 信號量簡介與示例

1. System V信號量簡介 SystemV信號量主要用於解決生產者和消費者問題,一個信號量能夠控制多個資源,說它是信號量集也不爲過。 2. API接口介紹 2.1 創建或打開信號量集 #include <sys/types.h>

原创 面試淺談 c++ 的空間兩級配置器

最近面試c++的時候,被問到c++內存管理模型,沒用過。回來看了下《STL源碼解析》,這裏簡單總結下,不涉及具體實現。感興趣同學可以下載電子書自己看下。 SGI版本的空間適配器設計哲學: 向system heap 要求空間。 考慮多線程狀

原创 curd boy 入門

CURD Boy的最基礎的MySQL操作,學會了,你就是夜空中最亮的仔O(∩_∩)O哈哈~ 目錄 1. 數據庫操作 2. 基礎數據類型 3. 表操作 4. 行操作 5. 列操作 6. 插入操作 7. 查詢操作 8. 修改操作 9. MyS

原创 vscode remote ssh 遠程開發免密登陸方法

使用vscode遠程插件remote-ssh可以在本地直接編輯服務器代碼,使用非常方便。但是,每次打開的時候都需要手動輸入密碼,非常繁瑣,Google了一個免密登錄的方法,使用ssh-keygen -t rsa 在本地用戶目錄下.ssh生

原创 Linux進程間通信二 System V 消息隊列簡介與示例

1. SystemV消息隊列簡介 消息隊列,顧名思義即是存放消息的隊列,內核爲每個SystemV 維護了一個msg_queue的結構體,裏面記錄了每個消息隊列的信息。 struct msg_queue { structkern_

原创 2019江行智能 後端開發工程師Go 面試題

深圳面試,來了之後給了一張試卷,時間半小時。包括一道算法題及擴展以及一頁基礎題。看題型,應該是多種崗位共享的試題,適合後臺開發、驅動開發等崗位,Linux知識居多,也包括一些操作系統,計算機網絡和編程語言相關的知識。難度因人而異,有些僅僅

原创 vscode Downloading package 'C/C++ language components (Windows)' Failed.問題解決

vscode打開項目後無法使用代碼跳轉等功能,然後提示一堆錯誤: Downloading package 'C/C++ language components (Windows)' Failed. Retrying... Failed

原创 Linux 性能分析工具總結

介紹下日常開發使用的分析工具,如有新的,請在評論中指出。 一. gprof,打印出程序運行中各個函數消耗的時間,可以幫助程序員找出衆多函數中耗時最多的函數。使用過程簡單,只需三個步驟。 使用-pg編譯、鏈接選項開啓分析功能。 執行程序,會

原创 《劍指offer》c++版本 17.打印從1到最大的N位數

如題: 題意就是從1打印直到n位數的最大值,即999999999........。一看就是循環的邏輯。需要注意的地方,除了非法的n之外,就是大數問題了。n太大的話,啥類型都存儲不了。普通的解法是使用一個長度爲n的字符數組,然後循環對數組

原创 C++ 哪些函數不能聲明成虛函數

在C++,有五種函數不能被聲明成虛函數,分別是:非成員函數、構造函數、靜態成員函數、內聯成員函數、友元函數這五種,下面分別解釋爲什麼這五種函數不能被聲明成虛函數。 1. 非成員函數  非成員函數只能被重載(overload),不能被繼承(

原创 C++虛函數及虛函數表(內存分配)簡析

這篇文章主要介紹了C++虛函數及虛函數表,內容非常詳細,思路清晰,需要的朋友可以參考下。 C++中的虛函數的作用主要是實現了多態的機制。關於多態,簡而言之就是用父類型別的指針指向其子類的實例,然後通過父類的指針調用實際子類的成

原创 Linux進程間通信一 System V 共享內存簡介與示例

目錄 1. System V共享內存簡介 2. API介紹 2.0 key_t和標識符 2.1  創建system v共享內存 2.2 映射共享內存並使用 2.3 取消共享內存映射 2.4 控制共享內存 3. 實例 3.1 共享內存寫示例