Pergunta

Que números de argumentos são usados ​​para main?Quais variantes de main definição é possível?

Foi útil?

Solução

Padrão C++:(Fonte)

O padrão C++ 98 diz na seção 3.6.1.2

Deve ter um tipo de retorno do tipo int, mas, caso contrário, seu tipo é definido pela implementação.Todas as implementações devem permitir as seguintes definições de principal:int main () e int main (int argc, char* argv [])

Normalmente existem 3 conjuntos de parâmetros:

  • sem parâmetros / void
  • int argc, char ** argv
  • int argc, char ** argv, char ** env

Onde argc é o número de linhas de comando, argv são as linhas de comando reais e env são as variáveis ​​de ambiente.

Janelas:

Para um aplicativo Windows, você tem um ponto de entrada WinMain com uma assinatura diferente em vez de main.

int WINAPI WinMain(
  __in  HINSTANCE hInstance,
  __in  HINSTANCE hPrevInstance,
  __in  LPSTR lpCmdLine,
  __in  int nCmdShow
);

OS X:(Fonte)

O Mac OS X e o Darwin possuem um quarto parâmetro contendo informações arbitrárias fornecidas pelo sistema operacional, como o caminho para o binário em execução:

int main(int argc, char **argv, char **envp, char **apple)
Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top