可能性の重複:
What are the valid signatures for C's main() function?'main'関数の有効なプロトタイプは何ですか?
'メイン' 関数の異なる有効なプロトタイプは何ですか?
一部の非標準プロトタイプはいくつかのベンダーによってのみサポートされていますか?
可能性の重複:
What are the valid signatures for C's main() function?'main'関数の有効なプロトタイプは何ですか?
'メイン' 関数の異なる有効なプロトタイプは何ですか?
一部の非標準プロトタイプはいくつかのベンダーによってのみサポートされていますか?
のgccで許可された完全なプロトタイプは次のとおりです。
int main(int argc, char * argv[], char *envp[])
しかしenvp
はほとんど使用されません。 argc
およびargv
を省略することも許容されるとみなされます。すべてのOSが独自の付加的な非標準のエントリを有し、
int main(void);
またはそれ以外
int main(int argc, char **argv);
:
'envp'はCでは指定されていません。CにはAlexによってリストされた2つのものが含まれていますが、 –
@Matthew:興味深いことに、 'gcc -pedantic'は' envp'について不平を言っていません。 –
もちろんです。 GCCが追加のパラメータを文書化している限り、標準実装は追加のプロトタイプを定義しています。標準に準拠しています。 –
C標準(§ 5.1.2.2.1)は、二つのエントリポイントのプロトタイプを定義しますポイント。 WinMainなど
[Cのmain()関数の有効な署名は何ですか? ](http://stackoverflow.com/questions/2108192/what-are-the-valid-signatures-for-cs-main-function)。 –
一部のコンパイラもvoid main()をサポートしています – Shweta