国際化のアプローチ
国際市場を視野に入れた場合、ターゲットとするオペレーティング システムと市場に応じて、さまざまなアプローチが考えられます。
Unicode を採用し、オーバーヘッドなしに Windows 2000 と Windows NT 上で実行できるようにする。この場合、Windows 95 や Windows 98 では実行できません。
Unicode 固有の機能を使用し、文字はすべて 16 ビット幅とします。目的に応じてプログラムの一部に ANSI 文字を使用してもかまいません。C のランタイム ライブラリには、Unicode だけを使ったプログラミングに適した関数、マクロ、およびデータ型が用意されています。MFC は、Unicode を完全にサポートしています。
MBCS を採用し、すべての Win32 プラットフォームで動作できるようにする。
MBCS 固有の機能を使用します。文字列は、1 バイト文字だけでも、2 バイト文字だけでも構成できます。また、両方を混在させることもできます。C のランタイム ライブラリには、MBCS だけを使ったプログラミングに適した関数、マクロ、およびデータ型が用意されています。MFC は、MBCS を完全にサポートしています。
_UNICODE シンボルまたは _MBCS シンボルを定義して再コンパイルすることにより、アプリケーションのソース コードの移植性を高める。いずれのシンボルを使用するアプリケーションも作成できます。詳細については、「Tchar.h における汎用テキストのマッピング」を参照してください。
アプリケーションの Unicode 関数では、Windows 95、Windows 98、および Windows のいずれかに記載されているように私がラッパー ライブラリを使用してデザインの両方の Windows 98 と Windows 2000 の実行には、1 つの Unicode アプリケーション。ラッパー ライブラリは購入することもできます。
完全に移植性のある C のランタイム関数や、マクロ、データ型を使います。MFC は柔軟性に富み、これらを問題なくサポートします。
残りのトピックでは、Unicode または MBCS としてビルドできる完全に移植可能なコードの記述について重点的に説明します。