40

「T」は文字列で何を表していますか。たとえば、_T("Hello")。ユニコードのサポートが必要なプロジェクトでこれを見てきました。実際にプロセッサに伝える内容

4

4 に答える 4

43

_T「テキスト」を意味します。ソースを Unicode サポートでコンパイルしている場合にのみ、リテラルを Unicode ワイド文字リテラルに変換します。http://msdn.microsoft.com/en-us/library/c426s321.aspxを参照してください。

于 2013-03-19T11:24:40.780 に答える
16

実際には、UnicodeANSI のサポートが必要なプロジェクトで使用されています。プリコンパイラ定義の値に応じて、文字列リテラルを Unicode または ANSI としてコンパイルするようにコンパイラに指示します。

なぜこれをやりたいのかは別の問題です。Unicode を単独でサポートする場合は、Unicode と記述します。この場合はL"Hello". この_T()マクロは、Windows NT 以降 (Unicode をサポート) および Windows 9x/ME (非サポート) をサポートする必要があるときに追加されました。最近の Windows バージョンはすべて Unicode ベースであるため、これらのマクロを使用するコードはすべて廃止されています。

于 2013-03-19T11:24:50.410 に答える
15

MSDN から:

マクロを使用して_Tリテラル文字列を汎用的にコーディングし、Unicode で Unicode 文字列として、または Unicode を使用せずに ANSI 文字列 (MBCS を含む) としてコンパイルします。

于 2013-03-19T11:23:07.707 に答える