C++ コマンド ライン処理のカスタマイズ
Microsoft 固有の仕様 →
プログラムがコマンド ラインの引数を受け取らない場合は、コマンド ライン処理を実行するライブラリ ルーチンの使用を制約することで、領域を節約できます。 このルーチンは _setargv と呼ばれ、「ワイルドカードの展開」で説明されています。 使用を抑制するには、main 関数を含むファイルの中に何も実行しないルーチンを定義し、_setargv という名前を付けます。 これにより、_setargv の呼び出しが _setargv の定義によって満たされるため、ライブラリ バージョンは読み込まれません。
同様に、envp 引数を使用して環境テーブルにアクセスしない場合は、環境処理ルーチンである _setenvp に独自の空ルーチンを指定できます。 _setargv 関数と同様、_setenvp が extern "C" として宣言される必要があります。
プログラムは、C ランタイム ライブラリでルーチンの spawn ファミリまたは exec ファミリを呼び出すことがあります。 この場合、このルーチンは親プロセスから子プロセスに環境を渡すために使用されるため、環境処理ルーチンを抑制しないでください。