原创 C語言基礎——進制轉換 / 數據表示
第一部分:進制轉換 二進制:由0~1構成,逢2進1 八進制:由0~7構成,逢8進1 十六進制:由0~9、A~F構成,逢16進1 兩個基本概念 基數:n進制基數爲n 123.4 = 1*10^2 + 2*10^1 + 3*10^0 +
原创 Linux -- 進程間通信之管道
管道是Linux裏的一種文件類型,同時也是Linux系統下進程間通信的一種方式 創建一個管道文件有兩種方式: 1. Shell 下命令 mkfifo + filename,即創建一個有名管道 2. C語言裏調用 pipe( ) 函數
原创 遷移至新的博客,歡迎交流學習 :)
https://www.cnblogs.com/chenxinshuo/
原创 Linux -- 進程管理之殭屍進程
UNIX 存在一種機制:在每個進程退出的同時,操作系統釋放該進程所有資源,但仍然保留一定的信息(PID / Status / runtime),直到父進程wait() / waitpid(), 以便父進程得到子進程狀態信息;
原创 C++面試問題總結 1
/* scanf / printf 的返回值是什麼? */ int scanf (const char *restrict format, ...) scanf函數返回成功讀入的數據項數,讀到文件末尾出錯則返回EOF int prin
原创 C++面試問題總結 3
/* 用戶態與內核態之間如何切換? */ 系統爲了限制不同程序的訪問能力,防止它們獲取別的內存數據,劃分了兩個等級 內核態與用戶態 內核態:CPU可以訪問內存所有數據, 包括外圍設備, 例如硬盤, 網卡. CPU也可以將自己從一個
原创 C++面試問題總結 2
/* 什麼是缺省函數?C++的類中有哪些缺省函數?*/ 缺省函數是C++聲明一個類後編譯器默認生成的函數(如果未定義的話) 共有六個缺省函數 1. 缺省構造函數 2. 缺省拷貝構造函數 3. 缺省析構函數 4. 賦值運算符 5.
原创 Linux -- 進程間通信之信號量
多個線程同時訪問一個共享數據,很可能造成惡劣的後果。 爲了保證數據訪問資源的正確性和安全性,需要對線程進行“同步”。 (Linux下所有的執行實體都稱爲任務(task),每個任務類似於單線程的進程,共享了同一個內存空間的多個任務構成了一個
原创 Linux -- 進程管理之fork() 函數
for(int i = 0; i<2; i++) { if(fork() == 0) printf("A\n"); else printf("B\n"); } for(int i =
原创 Linux -- 信號發送實現
信號是Linux系統響應某些條件而產生的一個事件,接收該信號的進程會響應地採取一些行動。
原创 TCP長連接與短連接的區別
1. TCP連接 當網絡通信時採用TCP協議時,在真正的讀寫操作之前,server與client之間必須建立一個連接,當讀寫操作完成後,雙方不再需要這個連接時它們可以釋放這個連接,連接的建立是需要三次握手的,而釋放則需要4次握手,所以
原创 C++ 之引用
引用又稱“別名”,對引用的操作相當於對原變量操作 int a = 10; int &b = a; // b就是a的引用,改變b就是改變a *注意* 1. 沒有空引用,定義引用時必須初始化 2. 不能有引用的引用,引用不分級
原创 Linux -- 進程間通信幾種方式的總結
一、 管道 優點: 1. 管道文件不佔磁盤空間,打開管道時在內存中分配空間; 2. 管道讀端會在讀取完管道內數據後自動進入阻塞,直到寫端再次寫入數據; 缺點: 1. 管道是半雙工的,數據只能從一個方向上流動; 2. 管道大小PIPE_S
原创 C語言(一)——變量
常用變量類型 地址 小端 :低地址保存低位 高地址保存高位 常用於 Inter PC / 複雜指令集 大端:低地址保存高位 高地址保存低位 常用於
原创 Linux 複習筆記
Linux 常用基本命令: 文件 —— cp rm mv tail mv more find grep 進程 —— ps kill jobs top 管理 —— useradd userdel passwd sh