原创 重新讀《深入理解計算機系統》這本書

        在這之前的一年時間裏,我斷斷續續的看完了這本書,雖然理解了有些東西,但是現在回想起來好多東西還是不能夠理解,所以從現在開始重新讀這本書,希望自己的能力有更好的提高 。         這次不正着讀,反過來讀試一下,看看能有

原创 開始寫畢業論文了

一個月的時間過去了,終於忙完了,現在終於可以一心一意的寫畢業論文了。 

原创 #pragma與_Pragma

  C90爲預處理指令家族帶來一位新成員:#pragma。一般情況下,大家很少見到它。        #pragma的作用是爲特定的編譯器提供特定的編

原创 讀代碼好睏難啊

從 七月14號開始就在讀main(接近一千行)函數,到現在都還沒有把main函數讀完。在讀的過程中,程序到處跳,剛剛又看到有一個有八百多行的函數,不知又要讀多久啊。 代碼總長度粗略估計了一下,好像有十幾萬行,這樣讀可能讀到畢業都讀不完啊。

原创 Bind: Address Already in Use Or How to Avoid this Error when Closing TCP Connections

In order for a network connection to close, both ends have to send FIN (final) packets, which indicate they will not s

原创 將32位代碼向64位平臺移植的注意事項

閱讀提示:隨着低成本64位平臺的來臨,加上內存和硬盤價格的不斷下跌,無疑爲32位程序向64位硬件的移植又加了一把勁,那些科學運算、數據庫、消耗大量內存或密集浮點運算的程序也搭上了這一順風車。在本文中,主要討論向64位平臺移植現有32位

原创 automake之hello例子

automake之hello例子   1.新建c文檔   2.生成configure   autoscan   cp configure.scan configure.in   編輯 configure.in 現在將configure.s

原创 apue.h

 /* Our own header, to be included before all standard system headers */ #ifndef _APUE_H #define _APUE_H #define _XOP

原创 Linux下動態庫靜態庫的使用

 本文主要解決以下幾個問題1 爲什麼要使用庫?2 庫的分類3 創建自己的庫或 許大家對自己初學linux時的情形仍記憶尤新吧。如果沒有一個能較好的解決依賴關係的包管理器,在linux下安裝軟件將是一件及其痛

原创 ch06:目錄操作

  第六章 目錄操作 #include <unistd.h> char *getcwd(char *buff, size_t size); ERANGE char *buf; int len = 50; b

原创 mulTdCpfile.c

#include "apue.h" #include <fcntl.h> #include <pthread.h> void * copyFile(void *); // 創建空的文件 int createFile(int fd, i

原创 ch05:高級文件操作

  第五講 高級文件操作 #include <fcntl.h> #include <stdio.h> #include <unistd.h>   int main() {        int fds[2]

原创 HashTable的實現

  爲了實現高效訪問一個集合中的元素,Mpr中實現了Hash Table,其結構如下圖所示   類的簡單描述: MprHashTable是存儲和管理Hash內容的類,MprHashEntry是HashTable的一項,有三個派生類M

原创 三個階段

1.多線程拷貝2.通過解析url,得到文件信息3.在firefox中添加插件

原创 雙向循環鏈表的實現

   最近將一個開源項目port到嵌入式設備上,發現其巨大部分類都是繼承於雙向鏈表(或者雙向隊列),這一個過程看似不可思議(感覺有違我們以前學的面向對象的知識),但是事實卻是這樣的方式使很多操作都變得簡單起來,由於類繼承於Link,則在L