No compilador MinGW, Qual é o comando-mwindows, e o que ele faz?

Eu estava a ter um problema com um programa em C++ onde quando executei o .exe o programa seria executado e minha janela para o programa iria abrir, mas o console seria aberto no desktop em segundo plano. Fiz uma pesquisa no google e descobri que compilar com o comando-mwindows como argumento, remove a consola. O que aconteceu. Mas não tenho a certeza do que realmente faz e estou curioso.

Author: Kalcifer, 2017-08-06

2 answers

Diz que a sua aplicação é uma que usa a API Win32 que não precisa de uma janela de consola. Você usa esta opção quando está a escrever as aplicações GUI do Windows, DLLs e afins, ainda que uma janela da consola possa ser útil ao depurar este tipo de aplicações. Mesmo com esta opção, você pode criar explicitamente uma janela de consola, caso a sua aplicação precise de uma dinâmica e, ao contrário, você pode chamar APIs GUI Win32 a partir de uma aplicação de consola.

 4
Author: Neil Butterworth, 2017-08-06 19:52:39

Comporta-se exactamente como o botão /subsystem:windows descrito em MSDN.

Basicamente, define o ponto de entrada para WinMain (ou wWinMain) em vez de main (ou wmain), o que resulta em nenhuma janela de consola e algum código de arranque Win32 a correr para criar os argumentos passados para WinMain. Como Neil diz, isso não impede ou permite qualquer coisa que você não pode fazer sem ele.

Um interruptor semelhante é -municode para mudar entre main/WinMain e wmain/wWinMain, que não é espelhado pela Microsoft tools. Estes parecem selecionar automagicamente o que você usa).

 3
Author: rubenvb, 2017-08-07 12:54:39