原创 多核多線程對int,float等類型的讀原子性

x86和x64中,從彙編的角度看, 對任何內存地址中的1byte的讀永遠是原子的.也就是說對一個char的讀取永遠是原子的 對內存地址對齊2byte的int16類型的讀取是原子的,對4byte對齊的int32類型讀取是原子的, 從從奔騰開

原创 奮戰一週,終於基本搞定了跨平臺內聯彙編的選擇和其他各種問題.分享一下

    其實本來我的需求挺簡單的,我甚至不能說自己是個程序員,各種類庫,API什麼的我也只是簡單瞭解過boost,ZThread之類常用的,連怎麼在windows裏用MFC畫個窗體都不知道....我主要是個搞算法的人,這幾年接觸最多的是m

原创 關於 size_t , uintptr_t , intptr_t, int

C++標準沒有規定size_t , uintptr_t , intptr_t, int 這幾個東西的byte數,所以任何確定地說這幾個東西沒區別,或者 確定地說這幾個東西佔XX個bit的行爲都是耍流氓. 那麼這幾個東西有什麼區別呢? 

原创 詳解volatile關鍵字

我們假設有這麼個函數: void Func(int& k) { while (k!=100) {} }如果int引用k不等於100,則在函數內部不斷地循環,我們且不論這個函數性能和作用如何,單說這個函數, 它的目的很明確,即如果k