Bonjour,
Je débute complètement en programmation C/C++ (c'est à dire que je n'y connais encore rien du tout, je me contente d'essayer de faire fonctionner des exemples trouvés ici et la pour essayer d'apprendre ce langage)
J'ai commencé par créer un programme en console avec Visual Studio 2003, qui m'affiche deux lignes de texte en couleur (exemple pris dans la faq sur développez.com)
voici le code :
Déja j'ai galéré pour faire fonctionner l'exemple, mais donné comme ici il marche chez moi ! (mis à part les accents qui passent pas sur la console, c'est un autre problême)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31 #include "stdafx.h" #include <iostream> #include <Windows.h> using namespace std; int _tmain(int argc, _TCHAR* argv[]) { HANDLE hOut; CONSOLE_SCREEN_BUFFER_INFO csbiAncien; hOut = GetStdHandle(STD_OUTPUT_HANDLE); if (hOut != INVALID_HANDLE_VALUE) { // on sauvegarde l'état de la console GetConsoleScreenBufferInfo(hOut,&csbiAncien); // on met le texte en bleu SetConsoleTextAttribute(hOut,FOREGROUND_RED | FOREGROUND_INTENSITY); cout << "Texte Echoué\n"; // on met le texte en bleu SetConsoleTextAttribute(hOut,FOREGROUND_GREEN | FOREGROUND_INTENSITY); cout << "Texte Succès\n"; // on restaure l'état initial SetConsoleTextAttribute(hOut,csbiAncien.wAttributes); } }
Ma question : pourquoi, pour ce programme, l'essence-même du programme basique, et après avoir enlevé tout ce que j'ai trouvé de relatif au débug dans les options du projet, ainsi qu'avoir mis les options d'optimisation soit à 1 (taille) soit à x (optimisation complète), l'exécutable fait 124 ko ?!!??
Je trouve ça tout de même violent, quand on voit certains utilitaires graphiques faire 43 ko avec des fenêtres, des icônes, et plein de texte... (exemple : tclock) ou pour rester en mode console, apache.exe qui fait 20 ko...
Si vous avez des astuces pour générer du code plus léger, par exemple une autre méthode de sortie par rapport à cout ?
merci d'avance
Edit: Bon, en remplacant les deux cout par printf, et en supprimant la ligne namespace, l'éxécutable fait 60ko... C'est mieux, mais encore très gros pour n'afficher que deux lignes de texte...
Partager