原创 求大於等於某個數的最小的二次冪

 鄭鋼的《自制編程語言》中的一段代碼: uint32_t ceilToPowerOf2(uint32_t v) { v += (v == 0); v--; v |= v >> 1; v |= v >> 2;

原创 算法的相關概念

1、算法     算法是解決特定問題求解步驟的描述,在計算機中表現爲指令的有限序列,並且每條指令表示一個或多個操作 2、算法具有五個基本特性     1.輸入:算法具有零個或多個輸入     2.輸出:至少有一個或多個輸出     3.有

原创 c++的strip、lstrip、rstrip簡單實現

string strip(const string &s, const string &chars = "") { if (s.empty()) return s; string s1 = s

原创 c++的簡單split實現

vector<string> split(const string& s, const string& delim) { vector<string> v; if (s.empty()) return v

原创 Leetcode第一題--兩數之和(c實現)

給定一個整數數組 nums 和一個目標值 target,請你在該數組中找出和爲目標值的那 兩個 整數,並返回他們的數組下標。 你可以假設每種輸入只會對應一個答案。但是,你不能重複利用這個數組中同樣的元素。 示例: 給定 nums = [2

原创 c++的簡單trim實現

string trim(const string &s) { if (s.empty()) return s; string s1 = s; string::iterator

原创 bash shell中的一些基本符號

1、引號 雙引號(" "):引號中的內容會被當作一個整體看待 單引號(''):單引號除了具有雙引號的功能外,還可以屏蔽特殊符號,例如 root@aa:~# test=10 root@aa:~# echo "$test RMB" 10

原创 對fopen使用“a”參數的新的認識

FILE *fopen(const char *path, const char *mode); 當mode是“a”時,表示“打開文件,用於追加 (在文件尾寫)。如果文件不存在就創建它。流被定位於文件的末尾”。這一點沒什麼問題,但是按照

原创 網絡的各指標計算方法(參考sar)

目前只計算一些簡單的信息,主要分析/proc/net/dev文件和雙工速度信息 /proc/net/dev文件信息如下: Inter-| Receive

原创 IO的各指標計算方法(參考iostat)

關於IO的各項指標,基本上從文件/proc/diskstats文件獲取就可以了,所以首先簡單介紹下該文件的各個域。 8 0 sda 404401 41618 43058034 767156 76322193 49863

原创 CPU的各指標計算方法(參考vmstat和mpstat)

CPU的基本信息來自於文件"/proc/stat",所以對該文件的CPU部分進行簡單的說明,只截取了其中的三行 cpu 754248101 201023 833006927 34020625757 9582415 41335 5747

原创 文件系統的各指標計算方法(參考df和sar)

df的基本打印信息如下: 文件系統 1K-塊 已用 可用 已用% 掛載點 udev 10240 0 10240 0% /dev tmpfs

原创 內存的各指標計算方法(參考free和vmstat)

free的打印信息: total used free shared buffers cached Mem: 65970364 64966504

原创 對於pthread_kill的一些誤解

今天在寫代碼的時候,想通過pthread_kill接口殺死一個線程,因爲之前學習《Linux/Unix系統編程手冊》的時候,裏面對於該接口的功能介紹是如下: 函數pthread_kill()向同一進程下的另一線程發送信號。因爲僅在同一進程

原创 條款13:以對象管理資源

Use objects to manage resources 假設我們使用一個將用來塑模投資行爲的程序庫,其中各式各樣的透支類型繼承自一個root class Investment,進一步假設,這個程序庫通過一個工程函數供應我們某特定的