原创 Linux定時器的實現

Linux定時器的實現     #include <stdio.h> #include <time.h> #include <sys/time.h> #include <stdlib.h> #include <signal.h> int

原创 解析C語言中的sizeof

解析C語言中的sizeof      一、sizeof的概念   sizeof是C語言的一種單目操作符,如C語言的其他操作符++、--等。它並不是函數。sizeof操作符以字節形式給出了其操作數的存儲大小。操作數可以是一個表達式或括在括號

原创 Linux下的線程接口

Linux下的線程接口

原创 Linux下的I/O模型

Linux下的I/O模型     Linux下數據的讀取主要有兩步:等待數據到來和把數據從內核層拷貝到應用層。I/O模型分爲同步I/O和異步I/O,同步I/O包括阻塞I/O、非阻塞I/O、I/O複用和信號驅動I/O。阻塞I/O指系統調用發

原创 常用VI命令

常用VI命令   光標控制命令 命令                 光標移動h或^h              向左移一個字符j或^j或^n         向下移一行k或^p               向上移一行l或空格     

原创 IPC經典問題

 IPC經典問題   讀者寫者問題 讀者優先:semaphore mutex=1;//控制對rc的訪問semaphore db=1;//控制對數據庫的訪問int rc=1;//正在讀或想要讀的進程數void reader(void){  

原创 鏈接器如何使用靜態庫來解析引用

鏈接器如何使用靜態庫來解析引用     在符號解析(symbol resolution)階段,鏈接器按照所有目標文件和庫文件出現在命令行中的順序從左至右依次掃描它們,在此期間它要維護若干個集合:(1)集合E是將被合併到一起組成可執行文件的

原创 鏈接器如何解析多處定義的全局符號

鏈接器如何解析多處定義的全局符號     在編譯時,編譯器輸出每個全局符號給彙編器,或者是強,或者是弱,而彙編器把這個信息隱含地編碼在可重定位目標文件的符號表裏。函數和已初始化的全局變量是強符號,未初始化的全局變量是弱符號。根據強弱符號的

原创 如何判斷一個單向鏈表是否有環路

如何判斷一個單向鏈表是否有環路     算法:用兩個指針,選取兩個互素的數作爲步長,從表頭開始一起往前走,如果相遇,表明有環路,否則就是沒有了。#define STEP1 2#define STEP2 1struct list{    

原创 Fedora Core 5 內核模塊編譯

Fedora Core 5 內核模塊編譯     到http://download.fedora.redhat.com/pub/fedora/linux/core/5/source/SRPMS/kernel-2.6.15-1.2054_F

原创 usb枚舉過程

usb枚舉過程     1.hub向host報告port狀態變化,usb設備處於Powered state2.通過向hub查詢host判斷變化的性質3.如果是有設備插入,host等待至少100ms以保證連接穩定,然後enable和rese

原创 U-boot和根文件系統

U-boot和根文件系統      U-boot採用相應的配置文件編譯好,注意選擇串口地址,是串口1還是串口2(stb7109eref.h),還要選擇對應的PIO口(board/stb7109eref.c)。 我採用stb7109平臺 m

原创 Linux下常用CVS命令

Linux下常用CVS命令   1.登錄:$export  CVSROOT=:pserver:username@the_server_name:/home/cvsroot   Note:pserver是訪問方式,如果服務器設置的是口令認證