In modalità debug è normale, dal momento che l'eseguibile non è ottimizzato e contiene tutte le informazioni di debug. Prova a cambiare il build target da Debug a Release, vedrai che le dimensioni diminuirà. Nota però che normalmente si usa il target Debug in modo da poter effettuare il debug del programma senza problemi, e si compila in modalità Release solo quando si vuole generare il programma da distribuire: poiché infatti in modalità Release l'ottimizzatore è attivato non esiste più una corrispondenza uno a uno sorgente-codice macchina generato, per cui è molto più difficile effettuare il debug con un eseguibile generato in tale maniera.Originariamente inviato da paperino00
Salve, oggi ho compilato con codeblocks questo programma c++
e il file compilato è stato un exe di 888 kb cioè quasi un megabyte, a me sembra eccessivo voi che ne dite? è normale?codice:#include <iostream> int main() { std::cout << "Ciao!"; }
1. Non sono librerie, sono file di inclusione.in c++ come si fa a sapere che libreria bisogna scegliere per delle funzioni? da qualche parte per esempio c'è scritto che std richiede iostream?
2. Sta tutto scritto nella documentazione (ad esempio qui).
Perché cout sta nel namespace std, come tutti i nomi della libreria standard C++.e perchè serve mettere "std::" prima di cout?
Per creare un header, basta creare un normale file di testo contenente le dichiarazioni e salvarlo nella medesima cartella del .cpp. Se si tratta solo di roba template o funzioni inline basta quello, altrimenti hai bisogno di una controparte .cpp da compilare e linkare insieme ai programmi che fanno uso dell'header in questione.come si fa a creare una libreria ?
Se vuoi creare una libreria statica vera e propria la questione è più complicata.
http://cplusplus.com/reference/iostream/per esempio iostream che cosa contiene?

Rispondi quotando