原创 進程調度和進程時間

進程調度:  由內核決定:調度策略,調度優先級 nice值決定優先級,nice越低優先級越高 nice的範圍在 [ 0 , 2* NZERO - 1 ] NZERO是系統默認的nice值 只有特權進程允許提高調度權限 關於NZERO:定

原创 線程:避免死鎖

線程互斥量 pthread_mutex_t 類型 初始化 一:靜態分配,可以設置爲常量 PTHREAD_MUTEX_INITIALIZER 二:調用 pthread_mutex_init(3) 若是動態分配,則需要在釋放時調用 pthr

原创 使用automake autoconf生成Makefile dh-make發佈deb

使用automake,autoconf生成Makefile,dh-make發佈deb包 這就是主要流程圖,所必須安裝的幾個東西:automake dh-make devscripts 具體操作: 一:編寫源代碼 $ vim he

原创 volatile和sig_atomic_t

volatile 影響編譯器編譯的結果,指出,volatile 變量是隨時可能發生變化的,每次使用時都需要去內存裏重新讀取它的值,與volatile變量有關的運算,不要進行編譯優化,以免出錯,(VC++ 在產生release版可執行碼時

原创 readdir仿寫ls(1)

man 3 readdir man 3 opendir #include <apue.h> #include <errno.h> #include <dirent.h> int main(int argc, char *argv[]

原创 libevent學習筆記一:總體把握

分析libevent 如何使用 (官方手冊,心得體會) 源碼分析 (event, event_base 爲核心) 引言 標準c庫便有許多參用了回調函數,讓用戶制定處理過程,比如常用的 qsort(3), bsearch(3

原创 隊列

 循環隊列 #include <stdio.h> #include <stdlib.h> #define QUEUE_TYPE int typedef struct QUEUE{ QUEUE_TYPE *head; //

原创 fork進程控制

完整了解UNIX進程控制是十分重要的。 對我們而言,必須熟練掌握的幾個函數:fork,exec系列,_exit,wait和waitpid waitpid可以等待一個特定進程的結束wait相當於: waitpid( -1, &status,

原创 靜 忍

靜下心來 不管將面對什麼 像個真男人一樣戰鬥 堅強 執着 冷靜 樂觀 想起以前和兩亮亮打dota,2345號位都能耍的飛起的我,打1號位總是被噴 咬咬牙,冷靜分析局勢,好好補刀,一點點發育起來 double kill t

原创 計算機科學經典著作

以下著作均可在此地址下載:    http://www.verycd.com/topics/24717/ 中文名: 計算機科學經典著作 英文名: Computer Science 1.The Art of Computer

原创 qsort快速排序

非常使用的快速排序算法,不穩定排序 #include<stdio.h> #include<stdlib.h> /* * qsort invoke this function */ int compare_integers( voi

原创 標準IO

標準IO都是圍繞流進行 流的定向決定了單字節還是多字節,最初創建的流沒有定向。 freopen(3) 清除一個流的定向, fwide(3) 設置流的定向 標準IO提供的目的:減少使用read和write的次數,對每個IO流進行自動緩衝管理

原创 順序棧 鏈棧

開始積累並且熟練常用的數據結構和算法,實踐實踐再實踐!!!!!! 以前的不足之處在於動手太少,來到一個新的環境,新的挑戰,科研要搞,論文要讀,代碼也一定要堅持寫,堅持學習,不斷提高自己,少抱怨,多腳踏實地思考實踐。 雖然自己很菜,雖然

原创 雙向循環鏈表

使用哨兵(頭節點) 實現雙向循環鏈表,所謂哨兵(頭結點):啞對象,簡化邊界條件處理。假設在鏈表L中設置一個對象L.nil ,該對象 代表NIL,但也具有和其他對象相同的各個屬性。對於鏈表代碼中出現的每一處對NIL的引用,都替換成L.ni

原创 linux命令行解壓縮小工具

bash的小技巧 通過修改 /etc/bashrc 添加bash語句從而方便我們解壓縮各種壓縮文件,不用再記憶各種壓縮指令了。 在 /etc/bashrc 中添加: mytar () { if [ -f $1 ] ; then