原创 Git/Github 學習

http://www.linuxidc.com/Linux/2011-04/35036.htm 1. GIT 相比CVS/SVN,Git 的優勢: - 支持離線開發,離線Repository - 強大的分支功能,適合多個獨立開發者協作

原创 虛析構函數

《C++ Primer》中對於虛析構函數如此解釋:     自動調用基類部分的析構函數對基類的設計有重要影響。     刪除指向動態分配對象的指針時,需要運行析構函數在釋放對象的內存之前清除對象。處理繼承層次中的對象時,指針的靜態類型可能

原创 SOCKET 封包和拆包

轉自:http://blog.sina.com.cn/s/blog_4a69d6c301000821.html         對於基於TCP開發的通訊程序,有個很重要的問題需要解決,就是封包和拆包.自從我從事網絡通訊編程工作以來(大概有

原创 UDP僞首部的作用

最近在讀Stevens 的《tcp/ip詳解 卷一 協議》,其中介紹到了UDP和TCP僞首部,由於書中介紹短小精悍,因此有必要擴充理解一下。關於TCP/UDP僞首部我是這麼理解的: 首先,要時刻謹記一個“僞”字,既然是“僞”首部

原创 埃拉託斯特尼篩法--查找素數

算式 給出要篩數值的範圍n,找出以內的素數。先用2去篩,即把2留下,把2的倍數剔除掉;再用下一個質數,也就是3篩,把3留下,把3的倍數剔除掉;接下去用下一個質數5篩,把5留下,把5的倍數剔除掉;不斷重複下去......。 [編輯]步

原创 安裝SVN

1.首先需要安裝SVN。     Ubuntu下的SVN安裝十分簡單,sudo apt-get install subversion  2.檢出文件(checkout):    使用命令:svn co svn://x.x.x.x    然

原创 指針使用面試題

1. char * const p;   char const * p   const char *p   上述三個有什麼區別?   char * const p; //常量指針,p的值不可以修改   char const * p;//

原创 linux進程管理的一些問題

linux進程管理的一些問題 一.進程創建 一、進程 LINUX中,進程既是一個獨立擁有資源的基本單位,又是一個獨立調度的基本單位。一個進程實體由若干個區(段)組成,包括程序區、數據區、棧區、共享存儲區等。每個區又分爲若干頁,每個進程配

原创 sqlite安裝

sudo apt-get install sqlite3 爲了使GCC能順利編譯有sqlite3.h頭文件的源碼需要: sudo apt-get install libsqlite3-dev 編譯時在最後加上-lsqlite3 例如,g

原创 gnome3.2 安裝配置

1.安裝gnome3.2 sudo apt-get update sudo apt-get install gnome-shell 2.安裝gnome3.2的高級管理工具 sudo apt-get install tweak sudo a

原创 Dell N4050 ubuntu系統禁用觸摸板

    給筆記本裝了ubuntu 11.10,在使用過程中發現,每次敲打筆記本自帶的鍵盤的時候,老是回去觸碰到觸摸板,導致鼠標無端端跳位。並且無法通過Fn+F3來進行控制觸摸板的開關。     通過查找相關資料,找到了解決辦法如下: 方

原创 《VC++深入詳解》學習筆記

創建一個Win32應用程序的步驟: 1.編寫WinMain函數,可以在MSDN上查找並複製;     int WINAPI WinMain(...); 2.設計窗口類;WNDCLASS     WNDCLASS wndcls; 3.註冊窗

原创 _alloc/malloc/calloc 內存分配的區別

_alloc 原型:void *_alloc(size_t size); 本函數與上述的兩個函數不同,因爲它是在棧上分配了size大小的內存,因此使用此函數分配的內存不用再擔心內存釋放的情況了。但是使用此函數需要注意的是:在函數內部使用此

原创 Linux下的段錯誤調試方法

Linux下的段錯誤調試方法 簡而言之,產生段錯誤就是訪問了錯誤的內存段,一般是你沒有權限,或者根本就不存在對應的物理內存,尤其常見的是訪問0地址。   一般來說,段錯誤就是指訪問的內存超出了系統所給這個程序的內存空間,通常這個值是由gd

原创 apue.h 和apueerror.h的代碼

===================apueerror.h=========================================$ cat apueerror.h #include <errno.h> /* for