原创 iterator_traits和__type_traits

iterator_traits SGI STL中的實現如下所示: struct input_iterator_tag{}; struct output_iterator_tag{}; struct forward_iterator_t

原创 Linux Shell

1 Linux下運行當前目錄下的程序爲啥要加./ 因爲默認情況下,當前目錄是不加入到環境變量PATH中的,所以需要指定程序的路徑 2 單引號,雙引號 雙引號可以防止通配符擴展但允許變量擴展。單引號更嚴格一些。它可以防止任何變量擴展。 比

原创 C++的模板特化及STL中iterator_traits模板的偏特化

C++中有類模板和函數模板,它們的定義如下所示: 類模板: template<class T1,class T2> class C { //... };函數模板: template<class T1,class T2> void fu

原创 vim 配置文件 ,高亮+自動縮進+行號+摺疊+優化

From   http://apps.hi.baidu.com/share/detail/31767352 將一下代碼copy到 用戶目錄下 新建文件爲  .vimrc 保存即可生效; 如果想所有用戶生效 請修改 /etc/vimrc

原创 關於extern "C"

如果要混合鏈接C和C++的代碼,就需要用到extern "C"。 1 C++要到C的函數 如果在.c文件裏面定義了一個函數void func(int para),在.cpp文件中要用到該函數,那必須在C++代碼(可以放cpp文件中或頭文件

原创 Ubuntu下安裝GTK+步驟

在終端下輸入: sudo apt-get install build-essential       #這將安裝gcc/g++/gdb/make 等基本編程工具 sudo apt-get install gnome-core-devel

原创 Linux文件權限

Linux文件權限 Linux文件的權限用16位的域來表示。最高4位表示文件類型,接下來3位是修飾位,剩下的9位是訪問權限位。 4位的文件類型 3位修飾位 9位訪問權限位 4位文件類型: 文件類型 符號常量 掩碼(8進制) POSIX

原创 一些鏈接

深入淺出之正則表達式                               http://www.cnblogs.com/dragon/archive/2006/05/08/394078.html

原创 Linux kernel

Spin locks are useless in a uniprocessor environment. When a kernel control path tries to access a locked data structur

原创 Unix Network Programming

將ip地址的字符串表示轉爲二進制數字形式: IPV4: int inet_aton(const char *strptr,struct in_addr *addrptr);      //返回:1字符串有效,0字符串無效 in_addr_

原创 Unix Network Programming - 多進程服務器需解決的三個問題

1 當派生子進程來處理客戶連接時,必須捕獲信號SIGCHLD 2 當捕獲信號時,必須處理被中斷的系統調用。比如當子進程結束時會向父進程發送信號SIGCHLD,如果這時父進程被阻塞在系統調用內部,會產生問題。最好是讓內核重新啓用該系統調用。