Können wir wmain () -Funktionen mit Unix-Compiler verwenden, oder es wird nur auf Windows arbeiten?

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

Frage

Können wir wmain () -Funktionen mit Unix-Compiler oder es wird nur auf \ für Windows arbeiten?

War es hilfreich?

Lösung

Die einzige Standard-Signaturen für main sind:

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

Allerdings ist eine freistehende Implementierung Erweiterungen zur Verfügung stellen kann / zulassen, dass andere Signaturen. Aber das ist nicht tragbar sein guranteed. wmain sieht aus wie ein Fenster / VS Sache. Es gibt nicht viel Chance, diese auf einem * nix / GNU GCC funktioniert.

Andere Tipps

Die wmain Signatur existiert in Windows Griff Breitzeichenbefehlszeilenargumente. Im Allgemeinen, während Windows-Anwendungen bevorzugen UTF16, Unix-Anwendungen bevorzugen UTF8 für Unicode-String-Codierung. UTF8 verwendet reguläre char Zeichenketten, also die Standard-main Unterschrift genügt für Unicode-fähigen Unix appications.

Wenn Sie eine tragbare Konsole-Anwendung machen möchten, die nicht Unicode-Befehlszeilenparameter erfordert, verwenden main. Wenn Sie Unicode-Befehlszeilenparameter zu tun, dann müssen Sie Direktiven Präprozessor mit, dass die Signatur entsprechend der jeweiligen Umgebung ermöglichen.

Wenn Sie eine plattformübergreifende GUI-Anwendung machen, verwenden Sie einen besonderen Rahmen, wie QT.

wmain () ist Windows-spezifisch. Genau wie _tmain, wenn diese Fragen ...

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top