原创 MYSQL日誌文件

MYSQL有不同類型的日誌文件(各自存儲了不同類型的日誌),從它們當中可以查詢到MYSQL裏都做了些什麼,對於MYSQL的管理工作,這些日誌文件是不可缺少的。 1.錯誤日誌(The error log):記錄了數據庫啓動、運行以及停止過程

原创 虛繼承與虛基類的本質

虛繼承與虛基類的本質 虛繼承和虛基類的定義是非常的簡單的,同時也是非常容易判斷一個繼承是否是虛繼承 的,雖然這兩個概念的定義是非常的簡單明確的

原创 [技術討論]程序員的基本技能和素質

此文轉自青潤心情的blog。 最近在一家公司幫忙,因爲那個公司的一個主要股東和我很談得來,他們公司是準備提供醫療相關服務的,這個股東也是阜外醫院的一個先心專家。 這裏暫時不談其他問題,僅僅從招聘的過程中看到的一些信息和讓我深爲擔憂的事情。

原创 英特爾® 多線程應用開發指南

http://software.intel.com/zh-cn/articles/intel-guide-for-developing-multithreaded-applications/?cid=sw:prccsdn1373

原创 多重繼承及虛繼承中對象內存的分佈

這篇文章主要講解G++編譯器中虛繼承的對象內存分佈問題,從中也引出了dynamic_cast和static_cast本質區別、虛函數表的格式等一些大部分C++程序員都似是而非的概念。問題拿捏得十分到位,下面是我對原文的翻譯,原文見這裏

原创 C++中產生一定範圍內的隨機數

如果讓你用C++來生成0——N-1之間的隨機數,你會怎麼做?你可能會說,很簡單,看: srand( (unsigned)time( NULL ) ); rand() % N; 仔細想一下,這個結果是隨機的嗎(當然,我們不考慮rand(

原创 [整理]虛擬繼承入門

爲什麼要引入虛擬繼承? 虛擬繼承在一般的應用中很少用到,所以也往往被忽視,這也主要是因爲在C++中,多重繼承是不推薦的,也並不常用,而一旦離開了多重

原创 以前的專利

離開嵌入式行業有兩年了,今天看到了自己在以前公司申請的專利。 公開號 CN102750389 A 發佈類型 申請 專利申請號 CN 201210229268 公開日 2012年10月24日 申請日期 2012年7月4日 優

原创 vs2010編譯thrift之compiler出錯的處理方法

問題描述 在使用visual studio 2010 SP1編譯thrift-0.9.1的compiler時,出現: The command "flex -o "src\\thriftl.cc" src/thriftl.ll bison

原创 談談Boost網絡編程(3)—— 一些坑

       很多時候,我們以爲採用了一種新技術(尤其是成熟的技術),過程應該是一馬平川的。然而實際上,採用新技術的過程卻是掉入了各種坑裏。究其原因,或者是使用方式有問題,或者是效率的白白浪費。這一章,我想講講,我在使用Boost Asi

原创 幾個實用的WinDBG命令

  幾個實用的WinDBG命令 WinDbg單獨下載地址http://www.windbg.org/ kn command dump current stack 1: kd> kn  # Ch

原创 談談Boost網絡編程(2)—— 新系統的設計

         寫文章之前,我們通常會想要採用何種方式,是“開門見山”,還是”疑問式開頭“。寫代碼也有些類似,在編碼之前我們需要考慮系統整體方案,這也就是各種設計文檔的作用。在設計新系統之初,我主要的目的是:保證高效率;保證高擴展性。

原创 如何做到二進制兼容

如何做到二進制兼容? 什麼是二進制兼容?        二進制兼容,即某個程序(或庫)有依賴其他庫A,當庫A升級時可以做到向後兼容,則程序(或庫)功能不受影響。 爲什麼要做到二進制兼容?        很明顯的道理,如果庫A升級沒有

原创 7個示例科普CPU Cache line

轉載於http://coolshell.cn/articles/10249.html CPU cache一直是理解計算機體系架構的重要知識點,也是併發編程設計中的技術難點,而且相關參考資料如同過江之鯽,浩瀚繁星,閱之如臨深淵,味同

原创 談談Boost網絡編程(1)——舊系統的問題

      前段時間一氣呵成,把公司的陳舊代碼完全替換掉了。這其間主要用到了Boost Asio,以及其他Boost庫的組件(thread,bind等)。這次開發,讓我收穫頗多。       首先,是技術上的成長。剛入公司時,負責維護的是