原创 C++ hash_map

0 爲什麼需要hash_map 用過map吧?map提供一個很常用的功能,那就是提供key-value的存儲和查找功能。例如,我要記錄一個人名和相應的存儲,而且隨時增加,要快速查找和修改: 嶽不羣-華山派掌門人,人稱君子劍 張三丰-武

原创 DBus如何傳送和接收數據,包括結構體

原文地址:http://hi.baidu.com/9562512/item/f93cac0be4849cdcdce5b076 DBus是進程間通信的工具。網上的資料不太多,大都又是基於GLib或python的。在windows下如果要

原创 正則表達式中零寬斷言(正則環視) grep -oP參數

轉載地址:http://blog.sina.com.cn/s/blog_935ccd710101jhgn.html 好久沒有寫過正則的東西了。今天說說零寬斷言,我看過網上那篇著名的《正則表達式30分鐘入門》,那時應該是08年左右,

原创 32位和64位下結構體內存對齊問題

1.先看64位下: #include<stdio.h> struct A { int a; char b; double c; char d; }; struct B { char a

原创 進程表項 文件表項 V節點總結

內核使用3鍾數據結構表示打開文件,它們之間的關係決定了在文件共享方面一個進程對另一個進程可能產生的影響。   (1)、在每個進程表中都有一個記錄項,記錄項中包含有一張打開文件描述符表,可將其視察爲一個矢量(數組),每個描述符佔用一項。

原创 濫用強制類型轉換的缺點

這是C++爲什麼要引入四個轉換符的原因。儘量使用C++風格的類型轉換    仔細想想地位卑賤的類型轉換功能(cast),其在程序設計中的地位就象goto語句一樣令人鄙視。但是它還不是無法令人忍受,因爲當在某些緊要的關頭,類型轉換還是必需的

原创 Linux的異步IO機制(轉)

 【同步IO與異步IO】 1,其實同步方式很好理解, 例如你調用一個function,   當這個function執行完後, 這個方法實現的功能已經完成。這裏往往會跟阻塞混淆,其實是因爲你採用了同步方式執行代碼, 才阻塞了你的thre

原创 qt connect Qt::ConnectionType介紹

signal/slot在底層會使用三種方式傳遞消息。參見QObject::connect()方法: bool QObject::connect ( const QObject * sender, const char * signal