原创 大白話排序和查找

排序 默認採用降序排列 1.冒泡排序 每次把最小的元素像泡泡一樣,放到數組末尾。 基本原理:外層循環次數有字符串長度-1決定。內層循環,後一個如果比自己小,就交換位置,第一輪就把最小的放到了最後一個元素位置上。那麼下一次循環只需要把第二小

原创 shell script 3

passwd root 修改密碼 history -c  清除歷史命令 shell  filename.sh 命令解析器執行腳本。修改文件權限 和路徑之後可以直接執行腳本文件名字 chmod +x  sleep numoftime  睡眠

原创 Linux網絡協議棧(一)——Socket

轉載:https://www.cnblogs.com/hustcat/archive/2009/09/17/1568738.html  尊重原創,支持原創 1、TCP/IP參考模型 爲了實現各種網絡的互連,國際標準化組織(ISO)制定了開

原创 switch_to 的思考與學習

進程切換, 內核堆棧的切換髮生在switch_to這個宏裏面。回來也是接着這裏執行

原创 關於用戶態和內核態內存拷貝的思考

陷入內核時,內核指針傳入內核 以copy_from_user爲例 內核指針映射 用戶指針映射 基礎知識:內核內存地址 3G-4G;用戶內存地址 0G-3G 虛擬指針的最高兩位[00 -11) 說明時用戶虛擬地址;最高兩位11 內核虛擬地址

原创 protocol buffer 深入剖析編解碼

鏈接: https://pan.baidu.com/s/15keEk1oKeqTH4wYjzj-UwQ 提取碼: pqek

原创 C++初始化列表

C++類構造函數初始化列表 構造函數初始化列表以一個冒號開始,接着是以逗號分隔的數據成員列表,每個數據成員後面跟一個放在括號中的初始化式。例如: class CExample { public: int a; float

原创 Makefile 筆記

makefile文件 轉自// https://seisman.github.io/how-to-write-makefile/introduction.html# := 前面的變量不能使用後面的變量,只能使用前面已定義好了的變量。 +=

原创 c++ 友元

友元(友元函數、友元類和友元成員函數) C++ 友元(frend)機制允許一個類將對其非公有成員的訪問權授予指定的函數或者類,友元的聲明以friend開始,它只能出現在類定義的內部,友元聲明可以出現在類中的任何地方:友元不是授予友元關係的

原创 shell script 2

shell 的基本元素 #!/bin/bash(shell) 指出解釋本程序的shell #註釋 變量 控制 一般步驟:編輯文件,保存文件,將文件賦予可執行的權限,運行及排錯 一般以.sh爲文件後綴。沒有也能執行。 執行方式:./file

原创 shell script 1

設置文件夾 mkdir ~/bin 添加環境變量 修改 /etc/profile,添加如下字段 PATH=$PATH:$HOME/bin export PATH 注意:等號前後不能有空格;千萬不要漏寫$PATH: 執行如下命令,配置環

原创 IPv4 客戶與IPv6服務器_UNP

1.讓服務監聽在ipv6的模式下(這樣既可以接收ipv4客戶端,也可以接收ipv6客戶端。如果監聽在ipv4模式下,則只能接受ipv4客戶的連接) 2.客戶端判斷自己的網絡環境,如果是ipv4則連接服務器的ipv4地址,若ipv6則連接服

原创 守護進程

1.守護進程啓動方法 系統初始化腳本啓動,/etc目錄/etc/rc目錄開頭的某個目錄裏。擁有超級用戶權限 inetd超級服務器啓動,inetd有某個腳本啓動。 cron根據規則定期執行一些程序,這些程序作爲守護進程運行 at 用於指定將

原创 Google test CheatSheet——open source

how to use gtest ForDummies -- start here if you are new to Google Mock. CheatSheet -- a quick reference. CookBook -- r

原创 UDP的connect函數-讀書筆記

UDP是一個無連接的協議,它沒有像TCP中EOF之類的東西。 8.11 UDP的connect函數 除非套接字已連接,否則異步錯誤是不會反悔到UDP套接字的。我們確實可以給UDP套接字調用connect,然而這樣做的結果卻與TCP連接不同