原创 mysql odbc 5.3 install error 13: system error code 126

    今天在windows server 2008 64位系統上安裝mysql odbc 5.3.6 x64時,老是報錯,報錯信息如下:       MySQL Connector/ODBC 5.3 — Error 1918.Error

原创 #if #define條件編譯

我們在處理c/c++代碼的時候,經常會用到#ifndef #define #endif,或者#if defined... #else #endif,我想這對於每一位c/c++程序員都不會陌生,但是不知道大

原创 How To Create Database In MongoDB

MongoDB didn’t provides any command to create “database“. Actually, you don’t need to create it manually, because, Man

原创 c++11中信號量(semaphore)的實現

c++11中有 mutex (互斥量),有 condition_variable (條件變量),並沒有 semaphore (信號量)。信號量,操作系統中一般都有提,後來 google 說可以使用 mutex+condition_vari

原创 Linux平臺用C++封裝線程讀寫鎖

    在Linux平臺上已經有現成的線程讀寫鎖pthread_rwlock_t以及相關API,現將這些API封裝成與Win32平臺上相同的接口,以便於編寫跨平臺程序。這些API包括pthread_rwlock_init,pthread

原创 ZooKeeper系列之一:Zookeeper僞集羣環境搭建

ZooKeeper的部署方式主要有三種,單機模式、僞集羣模式、集羣模式。其實剩下的兩種模式都是集羣模式的特殊情況。這裏我採取部署僞集羣模式來說明,瞭解僞集羣模式的部署方式,基本也就知道單機模式和集羣模式該如何部署了! 1.下載ZK的部

原创 使用git創建local branch並push到遠程

Creating Remote Branches git branch用得也不是很多,但有時候要用的時候往往會忘記,現將創建遠程分支的過程列舉如下: 一,確認我們所在的分支 elisonwu$ git branch * master

原创 gdb with multithread program

When your program has multiple threads (refer to Section 6.9 Debugging programs with multiple threads), you can choos

原创 memcpy和memmove的區別

1,函數聲明 void* memcpy(void* dest,void* source,unsigned count); void *memmove(void *dest, void *source, unsigned count);

原创 libev detail

1 libev 主頁http://software.schmorp.de/pkg/libev.html 文檔http://software.schmorp.de/pkg/libev.html libev所實現的功能就是一個強大的reac

原创 到底是使用abstract method還是interface在實現多態時

在一個面向對象的系統中,系統的各種功能是由許許多多的不同對象協作完成的。在這種情況下,各個對象內部是如何實現自己的對系統設計人員來講就不那麼重要了;而各個對象之間的協作關係則成爲系統設計的關鍵。小到不同類之間的通信,大到各模塊之間的交互

原创 google-perftools+kcachegrind profiler your program

  我之間用過一些開源的profiler工具,自己也做過一些工具,除了自己寫的工具可以簡單獲取自己想要的那一部分數據之外,其他的工具都不那麼容易,但是perftools卻是個例外,  它是一款針對 C/C++ 程序的性能分析工具,它是