19

低レベルのプログラマーとして、実行可能ファイルのモジュール起動コードを扱うことが多いので、"crt0" のようなコードがどのように機能するかをよく理解しています。C++ コードを書くとき、私は通常、C スタートアップ コードが を呼び出すために行うことと一致するようにmainasを宣言しました。したがって、私は通常、この宣言を次の目的で使用します(特に Windows を対象とする場合)。extern "C"mainmainwmain

extern "C" int main(int argv, const char *const *argv)

extern "C" int __cdecl wmain(int argv, const wchar_t *const *argv)

extern "C"での使用は合法mainですか? また、const char *const *argv の型は とは対照的に合法char *[]ですか?

4

3 に答える 3