Possiamo usare wmain () funzioni con i compilatori Unix o che funzionerà solo su Windows?

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

Domanda

Possiamo usare wmain () funzioni con i compilatori Unix o che funzionerà solo su \ per Windows?

È stato utile?

Soluzione

Le uniche firme standard per main sono:

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

Tuttavia, un'implementazione indipendente in grado di fornire le estensioni / permettere ad altre firme. Ma coloro che non sono garantiti per essere portabile. wmain appare come una cosa di Windows / VS. Non c'è molto probabilità questo sarà il lavoro su un * nix / GNU GCC.

Altri suggerimenti

La firma wmain esiste in Windows per gestire gli argomenti della riga di comando di caratteri estesi. In generale, mentre le applicazioni di Windows preferiscono UTF16, applicazioni Unix preferiscono UTF8 per la codifica stringa Unicode. UTF8 utilizza normali stringhe di caratteri char, quindi la firma main di riferimento è sufficiente per appications Unix Unicode-aware.

Se si vuole fare una domanda di console portatile che non richiede parametri della riga di comando Unicode, utilizzare main. Se avete bisogno di parametri della riga di comando Unicode, allora avete bisogno di direttive del preprocessore che consentiranno la firma appropriata per ogni ambiente.

Se si effettua un'applicazione GUI cross-platform, utilizzare una disciplina speciale, come QT.

wmain () è specifico per Windows. Proprio come _tmain, se quello che conta ...

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top