原创 template學習:實現一個類似多態的效果,來自WTL的一個技巧

    多態都是在運行時實現的,C++中通過VPTR和VTABLE來提供運行時的動態調用;但是,VPTR和VTABLE的使用影響了性能。WTL中的一個

原创 疑問:搞不懂的Pro*C的連接池(Oracle9i版本)

    最近嘗試了一下Oracle9i 中 PRO*C的連接池功能,結過越搞越糊塗:1、首先,在proc的編譯參數中加上以下選項:      thre

原创 使用template實現條件編譯

    我們知道,使用宏可以實現條件編譯: #if 1    //do something#else   //do something else#en

原创 template中實現條件編譯的補充:使用int2type技巧

    先貼代碼: #include <stdio.h>template <int v>struct Int2Type...{    enum ...

原创 複雜的GCC字符串池

    最近寫的一個程序,爲了使接口簡便,在返回字符串的時候不得已使用了stl::string,但是又擔心如果此方法被頻繁調用,可能會導致性能問題,於

原创 C++學習:inline的函數或者成員函數一定要定義在頭文件中

    看C++的教材的時候,一直記得書上說inline只是一個提示,編譯器可能會拒絕將函數定義成內聯的。今天犯了思維定式的錯誤:函數或成員函數加上i

原创 PRO*C++的批量綁定要注意的兩個問題

    PROC的批量操作的時候,與其綁定的數組變量要注意兩個問題:1、如果是字符數組, eg: char UserName[1000][41];  

原创 小記:JavaScript中的window.setInterval()必須使用全局函數

    在寫JS腳本的時候寫了類似如下的代碼,總是產生莫名其妙的問題,定位不到。 function ClassName()...{    var _H

原创 c++學習:記一例namespace和類型聲明引發的編譯問題

    編碼中發現一個奇怪的編譯錯誤,花了很長時間才找到問題所在。下面把重現這個問題的最精簡的代碼貼出來: /**//*MyClass.h存在一個na

原创 Pro*C連接池的補充

    上文提到從v$Session查看連接數,發現使用連接池後莫名增加了MIN個連接(MIN爲連接池的最小連接數)。但是實際上,v$session中

原创 C++學習:驅動代碼裏發現的一個小技巧,求大於I的最小的SIZE倍的值

    最近在研究驅動的代碼,發現這樣一個宏,沒太搞懂什麼用途:#define E1000_ROUNDUP(i, size) ((i) = (((i)

原创 小記:Linux下的堆破壞

    今天遇見一個超鬱悶的BUG,現象非常奇怪:delete pointer;   刪除一個指針的時候程序發生core dump,或者在此處掛死。 

原创 遠程桌面傳文件的補充

    上次發了篇發現遠程桌面可以傳文件的文章,最近又發現,遠程桌面不止可以傳文件,甚至可以用ctrl+C和ctrl+V來傳文件。    需要做如下設

原创 template學習:一個Functor的使用例子

#include <stdio.h>// 模板,可以調用函數或者Functortemplate <typename Functor>void TestTemplate(Functor func)...{    func("TestTem

原创 小記:Linux下使用MD5算法

    由於項目中需要用到MD5算法,於是在網上找了好幾個md5算法的源碼文件,結果接口各不相同,很是頭疼。翻翻Linux的/usr/include目