原创 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目