「T」は文字列で何を表しますか。たとえば、_T( "Hello")。Unicodeサポートが必要なプロジェクトでこれを見てきました。実際にプロセッサに伝えること
_T
は「テキスト」を表します。 Unicodeサポートを使用してソースをコンパイルしている場合にのみ、リテラルをUnicodeワイド文字リテラルに変換します。 http://msdn.Microsoft.com/en-us/library/c426s321.aspx を参照してください。
MSDNから:
使用
_T
マクロはリテラル文字列を一般的にコーディングするため、Unicodeの下でUnicode文字列として、またはUnicodeなしのANSI文字列(MBCSを含む)としてコンパイルします。
実際には、Unicode および ANSIサポートが必要なプロジェクトに使用されます。プリコンパイラ定義の値に応じて、文字列リテラルをUnicodeまたはANSIとしてコンパイルするようにコンパイラに指示します。
これを行う理由は別の問題です。ユニコードを単独でサポートしたい場合は、ユニコード、この場合は_L"Hello"
_を記述するだけです。 _T()
マクロは、Windows NT以降(Unicodeをサポート)およびWindows 9x/ME(サポートしない)をサポートする必要があるときに追加されました。最近のWindowsバージョンはすべてUnicodeベースであるため、これらのマクロを使用するコードは廃止されています。