C の
_tmain() と main() の比較
_tmain() と main() は両方ともエントリを指定するために使用される関数シグネチャですC プログラムのポイント。ただし、それらの間には、プログラムの動作に影響を与える可能性のある微妙な違いがあります。
_tmain() とは?
_tmain() は、Microsoft 固有の関数シグネチャです。 C 標準の一部ではありません。これは主に文字セット、特に Unicode で使用されるワイド文字セットを扱うときに使用されます。
main() とは何ですか?
main() は標準エントリです。 ISO C 標準で定義されている C プログラムのポイント。 2 つの署名のいずれかを含めることができます:
文字処理の違い
次の主な違い_tmain() と main() は、コマンド ラインからの文字入力を処理する方法にあります。
Unicode 環境での動作
Windows で使用されるような Unicode 環境では、_tmain() は通常、ワイド文字を適切に処理できるため、main() よりも推奨されます。デフォルトでは、Windows は _tmain() を wchar_t* の配列を受け取る wmain() としてコンパイルします。
Unicode 環境での例
で次のコードを実行すると、 Unicode 環境:
int _tmain(int argc, wchar_t* argv[]) { cout << "There are " << argc << " arguments:" << endl; // Loop through each argument and print its number and value for (int i = 0; i < argc; i++) cout << i << " " << argv[i] << endl; return 0; }
引数がワイド文字として正しく出力されると、期待される出力が得られます。 strings.
クロスプラットフォームの考慮事項
_tmain() は異なるオペレーティング システム間で移植できないことに注意することが重要です。プログラムを Unicode プラットフォームと非 Unicode プラットフォームの両方で実行する必要がある場合は、#ifdef マクロを使用して、ターゲット プラットフォームに応じて main() または _tmain() を定義することをお勧めします。
概要
_tmain() は Unicode 処理に使用される Microsoft 固有の関数シグネチャであり、 main() は C の標準エントリ ポイントです。これらの違いを理解することで、文字セットを扱う際の潜在的なエラーを回避し、クロスプラットフォームの互換性を確保できます。
以上がC の `_tmain()` と `main()` : 違いは何ですか? それぞれをいつ使用する必要がありますか?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。