2011-02-01 16 views

答えて

4

号には、それはTCHARwchar_tにマップされ、TCHARまたはLPTSTR引数を取るすべての機能がUnicodeの変種にマップされていることを意味します。たとえば、CreateWindowCreateWindowWにマッピングされ、CreateWindowAにマッピングされません。

これはCPUアーキテクチャとはまったく関係ありません。 32ビットまたは64ビットのプラットフォーム用にUnicodeおよびMultibyteプログラムを記述することができます。

x64用にビルドする場合は、Configuration Managerで別のプラットフォームを追加する必要があります。マイクロソフトからのhow-toはここにあります。

+0

文字エンコードを設定せずにCreateWindowWを明示的に使用できますか? – user23281

+0

はい、@ユーザー。必要な機能を明示的に呼び出すことができます。 IDE設定とそれが定義するマクロは、何も指定しないときに得られる*デフォルト* APIモードを制御するだけです。 –

+0

はい。しかし、 'TCHAR'サブシステムは' char'と 'wchar_t'をほぼシームレスに切り替えるように設計されています。それでも、あるアプリケーションに '* A'と' * W'を混在させることは可能です。 – detunized

4

いいえ。Unicodeは、CPUのビット数ではなく文字エンコードです。 Unicodeを使わないで64ビットのコードを書くことができ、Unicodeを使っている間に32ビットのコードを書くことができます。どちらも他人を必要としない。必要に応じて、両方を一緒に使うことができます。どちらも使用することはできません。

+1

私はこの回答をサポートしています。基本的に、文字エンコーディングと機械語のサイズの間には何の関係もありません。 –

関連する問題