Podemos usar wmain () funções com compiladores Unix ou ele vai trabalhar apenas no Windows?

StackOverflow https://stackoverflow.com/questions/2438297

Pergunta

podemos usar funções wmain () com compiladores Unix ou ele vai trabalhar apenas em \ para janelas?

Foi útil?

Solução

As assinaturas único padrão para main são:

int main(void);
int main(int argc, char *argv[]);

No entanto, uma implementação independente pode fornecer extensões / permitir que outras assinaturas. Mas essas não são guranteed para ser portátil. olhares wmain como uma coisa Windows / VS. Não há muita chance isso vai funcionar em um * nix / GNU GCC.

Outras dicas

A assinatura wmain existe no Windows para argumentos de linha de comando alça de caracteres largos. Geralmente, enquanto as aplicações do Windows preferem UTF16, aplicações Unix preferem UTF8 para Unicode seqüência de codificação. UTF8 usa cadeias de caracteres char regulares, de modo que os sufixos de assinatura main padrão para appications Unicode-aware Unix.

Se você quiser fazer uma aplicação de consola portátil que não requer Unicode parâmetros de linha de comando, use main. Se você fizer parâmetros de linha de comando necessidade Unicode, então você precisa de pré-processamento directivas que permitirão a assinatura apropriada para cada ambiente.

Se você está fazendo uma aplicação gráfica multi-plataforma, use um quadro especial, como QT.

wmain () é específico do windows. Assim como _tmain, se o que importa ...

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top