開発環境:VC6
プリプロセッサの定義に、UNICODE,_UNICODEを追加。(_MBCSをカット)
EXEの場合は、エントリポイントシンボルにwWinMainCRTStartupを記述。
・char → TCHAR
・LPSTR → LPTSTR
・LPCSTR → LPCTSTR
・strcpy → _tcscpy
(文字列を扱う関数は、基本的に全部置き換え)
・ダブルコーテーションで文字を書いているところは、_T( ) で囲む
などなど、いろいろ大変。
CStringなんかのMFCクラスは、そのまま使えるんだけど、
MFCのなかったCの時代に作られて、今でも使い続けているような
プログラムだと、とっても恐ろしいことになる。
全部投げ出して新しく作っちまったほうが早いと考えるかもしれない。
たしかWindowsNTが出だしたころか。
UNICODEに対応しようよ、という話が出だしたのは。
(今ちょいと調べたらNT3.1がリリースされたのが1993年)
14年の年月が経過している。
当時はプログラムを始めたくらいの時期で、何のこっちゃわからんかった。
今では、少しはわかるようになってきたかな。
だいたいVC6なんて古い環境を使っていることにも問題がある。
ドットNET以降は、細かいことを意識しないでも自然にUNICODEに対応したアプリが
作れるようになっているらしいからさ。(うそかもしれん)
過去のしがらみを断ち切って、VS2005あたりにジャンプアップする。
想像の世界では実現したことあるけど、現実世界では厳しい。
まず、1本のソフトをUNICODE対応アプリに書き直してみようと思う。
実際にやってみて、どんなものかを実感してみるに限る。