VC++6.0 fixes
Fixes for Library Bugs in VC++ V5.0/V6.0(P.J.Plauger大先生の会社の修正情報; http://www.dinkumware.com/vc_fixes.html)の、VC6.0 SP6での状況。
結果から言うと、とりあえず、
差し替え → deque、xstring、xtree
パッチ → list、vector、strftime.c
でよさそう。あとは好みで。
Windows CEについても調べてみたら、WinCE4.2とWinCE5.0の標準のSTLは、VC6.0のものとほぼ同じものになっていて、同じ不具合があるようだ。ただし、WinCEの場合、char_traitsがないので、xstringは差し替えられない。
STLPortなどに差し替えるか、パッチを当てるかする必要がありそう。
不具合内容は以下の通り。日付はVC6SP4のファイルのタイムスタンプ。
- algorithm 1998/06/15
- 不具合内容: _Buffered_mergeに致命的な不具合
- 状況: 対処済(ifの前で_D1nと_D2nがクリアされている)
- 更新の必要性: 無
- deque 1998/06/15
- 不具合内容: (C++標準で定められた範囲外ではあるが)要素の追加により末尾とend()が不一致になる可能性がある
- 状況: 未対処
- 更新の必要性: 弱(差し替えてもよさそう)
- fstream 2000/08/29
- 不具合内容: basic_filebufのパフォーマンスが悪い場合がある
- 状況: 未対処
- 更新の必要性: 弱(パッチを当ててもよさそう)
- istream 1998/06/15
- 不具合内容: デリミタの処理が不適切
- 状況: 対処済
- 更新の必要性: 無(パッチを当てても問題はない)
- list 1998/06/15
- 不具合内容: sort()に致命的な不具合
- 状況: 未対処
- 更新の必要性: 有(パッチを当てるべき)
- memory 1998/06/15
- 不具合内容: auto_ptrのコピーに不具合
- 状況: 対処済(最後に_Y.release()を呼び出している)
- 更新の必要性: 無
- sstream 1998/06/15
- 不具合内容: overflowのパフォーマンスが悪い場合がある
- 状況: 未対処
- 更新の必要性: 弱(パッチを当ててもよさそう)
- string 1998/06/15
- 不具合内容: デリミタの処理が不適切
- 状況: 未対処
- 更新の必要性: 弱(パッチを当ててもよさそう)
- vector 1998/06/15
- 不具合内容: insertに失敗する場合がある
- 状況: 未対処
- 更新の必要性: 有(パッチを当てるべき)
- xmemory 1998/06/15
- 不具合内容: コンパイルに失敗する場合がある
- 状況: 未対処
- 更新の必要性: 弱(パッチを当ててもよさそう)
- xstring 1998/06/15
- 不具合内容: 文字列の割り当てに問題がある可能性がある
- 状況: 不明
- 更新の必要性: 弱(差し替えてもよさそう)
- xtree 2000/08/23
- 不具合内容: スレッドロックの除去
- 状況: 不明
- 更新の必要性: 弱(差し替えてもよさそう)
- strftime.c 2004/01/28
- 不具合内容: time_putが%Xに未対応
- 状況: 未対処
- 更新の必要性: 弱(パッチを当ててもよさそう)