2010-03-13 11 views

Respuesta

9

Las únicas firmas estándar para main son:

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

Sin embargo, una aplicación independiente puede proporcionar extensiones/permitir que otras firmas. Pero esos no están garantizados para ser portátiles. wmain parece una cosa Windows/VS. No hay muchas posibilidades de que esto funcione en un * nix/GNU GCC.

2

wmain() es específico de Windows. Al igual que _tmain, si eso importa ...

9

La firma wmain existe en Windows para manejar argumentos de línea de comando de caracteres anchos. En general, mientras que las aplicaciones de Windows prefieren UTF16, las aplicaciones de Unix prefieren UTF8 para la codificación de cadenas Unicode. UTF8 usa cadenas de caracteres regulares char, por lo que la firma estándar main es suficiente para aplicaciones Unix compatibles con Unicode.

Si desea hacer una aplicación de consola portátil que no requiera parámetros de línea de comandos Unicode, use main. Si necesita parámetros de línea de comandos Unicode, entonces necesita directivas de preprocesador que permitan la firma apropiada para cada entorno.

Si está haciendo una aplicación GUI multiplataforma, utilice un marco especial, como QT.

Cuestiones relacionadas