Possiamo usare wmain () funzioni con i compilatori Unix o che funzionerà solo su Windows?
-
19-09-2019 - |
Domanda
Possiamo usare wmain () funzioni con i compilatori Unix o che funzionerà solo su \ per Windows?
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 ...