2010-03-13 25 views

Répondre

9

Les seules signatures standard pour main sont:

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

Cependant, une mise en œuvre pose libre peut fournir des extensions/permettre à d'autres signatures. Mais ceux-ci ne sont pas garantis d'être portables. wmain ressemble à une chose Windows/VS. Il n'y a pas beaucoup de chance que cela fonctionne sur un * nix/GNU GCC.

2

wmain() est spécifique à Windows. Tout comme _tmain, si cela est important ...

9

La signature wmain existe dans Windows pour gérer les arguments de ligne de commande à caractères larges. Généralement, alors que les applications Windows préfèrent UTF16, les applications Unix préfèrent UTF8 pour le codage de chaîne Unicode. UTF8 utilise des chaînes de caractères char, donc la signature standard main est suffisante pour les applications Unix compatibles Unicode.

Si vous souhaitez créer une application de console portable ne nécessitant pas de paramètres de ligne de commande Unicode, utilisez main. Si vous avez besoin de paramètres de ligne de commande Unicode, vous avez besoin de directives de préprocesseur qui activeront la signature appropriée à chaque environnement.

Si vous créez une application graphique multiplate-forme, utilisez un cadre spécial, tel que QT.