亂數兩三事
剛好在 Plurk 上聊到亂數的問題:我印象中 Standard C 的 srand()、rand() 函式,有大問題,所以在 Plurk 上亂放炮,引來眾家好手關切。還好最後把細節回憶清楚了,也再次提醒了自己,要小心不要讓寫程式的「習慣」埋下難解的地雷。
Letting va_list re-entraint by va_copy()
之前在這篇《Non-standard behavior of (v)snprintf, on Visual C++》探究過 strprintf() 的實作方法。那時我以為已經找到終極解法,僅需為每個不符合標準的平台,製作 work around 即可。不過最近將這些程式搬到 Mac OS X 上面,卻連連接到 Segment Fault,才知道其實我的 strprintf() 還有缺陷,導因於我的無知與疏忽。