原创 C++ 應用程序性能優化:內存池

6.1 自定義內存池性能優化的原理 如前所述,讀者已經瞭解到"堆"和"棧"的區別。而在編程實踐中,不可避免地要大量用到堆上的內存。例如在程序中維護一個鏈表的數據結構時,每次新增或者刪除一個鏈表的節點,都需要從內存堆上分配或者釋放一定的

原创 免費電子書列表

在StackOverflow上,有人要打算收集個免費電子書的列表,結果很快就有人分享了一個列表。很不錯,我就轉過來了。原帖的地址在http://stackoverflow.com/questions/194812/list-of-fr

原创 學習->linux多線程網址

posix 線程詳解 posix 線程專欄 POSIX thread APIs

原创 用戶態和內核態的區別

當一個任務(進程)執行系統調用而陷入內核代碼中執行時,我們就稱進程處於內核運行態(或簡稱爲內核態)。此時處理器處於特權級最高的(0級)內核代碼中執行。當進程處於內核態時,執行的內核代碼會使用當前進程的內核棧。每個進程都有自己的內核棧。當

原创 ubuntu下實現多個pdf文件合併

從網上下載的 PDF格式的電子文檔,有時候包括多個部分,雖然這樣有利於傳輸,但在閱讀時卻有不便之處。如果我們將其合併到一起,不僅使問題迎刃而解,而且也便於文檔的保存。 在 Linux 中將多個獨立的 PDF 文檔合併到一起,是很簡單的事

原创 如何解決安裝CentOS後找不到eth0

用服務器或虛擬機最小化安裝CentOS,有的朋友會發現登陸系統後輸入ifconfig命令發現找不到etho0網卡只有lo,也就無法查到eth0 的IP地址。 1.以root用戶登陸系統,用ifconfig命令暫時先給eth0一個IP地址

原创 SSH連接錯誤

用xshell客戶端連接主機出現錯誤: ssh 用戶名@ip_address [port] 官方文檔上的提示: "Could not connect to 'hostname' (port 22): Connection fail

原创 ubuntu 有時使用man xxx查詢函數時查不到的解決方法

這是因爲man doc不完整導致的。 比如我安裝ubuntu後,, 學習unix網絡編程卷一時, 裏面用到pthread_mutexattr_setpshared這個時就使用man 查詢不到。 搜索了下網上。 安裝下面二個包,基本上的

原创 Linux下使用inotify實現對文件的監控

項目中,要實現用戶通過網頁設置參數,後臺接收數據然後寫串口。 網頁寫數據到本地文件,使用inotify監控文件的IN_MODIFY事件,當文件被修改,然後觸發寫串口事件。 第一個程序僅僅把要監控的文件加入watch_list中,執行程序,

原创 在Ubuntu 12.04 LTS上安裝wireshark

在Ubuntu 12.04 LTS上安裝wireshark並且限定數據包捕獲到一個組,也就是wireshark組。相信你能用這些指令在其他發行版上安裝wireshark。 雖然你只能讀到我在ubuntu上的測試,但是如果它不適合隨時告訴

原创 mysql遠程訪問

1.在本地創建一個允許在其他主機登錄的mysql用戶。 2.測試是否可以實現遠程訪問: mysql -hIP_ADDR -u user_name -p 可能會出現如下錯誤: ERROR 2003 (HY000): Can't connec

原创 64位操作系統編譯成32位可執行文件

sudo apt-get install lib32readline-gplv2-dev 然後 編譯時加上 -m32 如:gcc a.c -m32

原创 右左法則----複雜指針解析

首先看看如下一個聲明:   int* ( *( *fun )( int* ) )[10];   這是一個會讓初學者感到頭暈目眩、感到恐懼的函數指針聲明。在熟練掌握C/C++的聲明語法之前,不學習一定的規則,想理解好這類複雜聲明是比較困難的

原创 查詢搜索指令

1.在某個路徑下查找一個指定的文件: find pathname -name "filename" eg: find /usr/ -name "stdio.h" //在usr目錄下查找stdio.h頭文件。 2.在某個路徑下查找包含一

原创 SQLite with readline support on Ubuntu

默認安裝的sqlite3數據庫是沒有readline(歷史記錄)/左右方向鍵,刪除鍵等也是亂碼 解決辦法: sudo apt-get install rlwrap rlwrap sqlite *.db 轉載自:http://super