PDA

Visualizza la versione completa : [C++] Evitare l'apertura di finestre DOS


freetom
11-03-2011, 23:41
Es:





using namespace std;


int main (int argc, char *argv[])
{

//prova


}



Anche questo semplicissimo cod una volta compilato apre , seppur per un sec. la finestra dos :sbav:

E' possibile evitarlo in qualche modo? :confused:

Grazie!

:ciauz:

MItaly
12-03-2011, 00:13
Devi compilare l'applicazione come applicazione GUI e non console e cambiare la firma del main. Il come dipende dal compilatore che usi.

freetom
12-03-2011, 00:33
Originariamente inviato da MItaly
Devi compilare l'applicazione come applicazione GUI e non console e cambiare la firma del main. Il come dipende dal compilatore che usi.

"...e cambiare la firma del main" cosa sarebbe? :fagiano: :)


Io uso dev c++ e come opzioni ho solo...


windows application
consolle application
static library
dll
empty project
hello world
openGL

Quale devo scegliere per compilare come GUI?

Grazie!

:ciauz:

MItaly
12-03-2011, 01:03
Windows application. Per "cambiare la firma del main" intendo che nelle applicazioni GUI su Windows non c' il main, ma c' il WinMain, che ha una "firma" (signature, prototipo) diversa (vedi qui (http://msdn.microsoft.com/en-us/library/ff381406%28v=vs.85%29.aspx) e qui (http://msdn.microsoft.com/en-us/library/ms633559%28v=vs.85%29.aspx)).

freetom
12-03-2011, 01:18
Non ancora :( :)

In sostanza ho ridotto da 30 finestre dos ad una sola...

Ma vorrei evitare se possibile di aprire anche quella...

Mi si apre una finestra dos cmd.exe che rimane vuota tutto il tempo...

In dev c++ ho trovato opzioni di compilazione e la dicitura non aprire consolle...

ma una mi si apre comunque... :dott:

Grazie

:ciauz:

freetom
12-03-2011, 10:10
Originariamente inviato da MItaly
Windows application. Per "cambiare la firma del main" intendo che nelle applicazioni GUI su Windows non c' il main, ma c' il WinMain, che ha una "firma" (signature, prototipo) diversa (vedi qui (http://msdn.microsoft.com/en-us/library/ff381406%28v=vs.85%29.aspx) e qui (http://msdn.microsoft.com/en-us/library/ms633559%28v=vs.85%29.aspx)).

che al posto di

main (x consolle) classico ... mettessi:




int CALLBACK WinMain(

//mio cod

);



Leggo a fatica le pagine che mi hai suggerito in quanto non padroneggio... perfettamente l'inglese... :stordita: In italiano che tu sappia c' niente al riguardo?

:fagiano: :zizi:

Grazie

:ciauz:

Loading