Probleme avec Visual C++ 6

UltimAKnighT Messages postés 34 Date d'inscription samedi 21 janvier 2006 Statut Membre Dernière intervention 12 juillet 2008 - 29 août 2006 à 19:09
UltimAKnighT Messages postés 34 Date d'inscription samedi 21 janvier 2006 Statut Membre Dernière intervention 12 juillet 2008 - 29 août 2006 à 20:28
Bonjour, j'ai changer de compilateur pour Visual C++ 6, celui-ci me pose un probleme.
En effet, lorsque je build mon projet, il crée un executable en mode debug, et cela tout le temps (l'executable se trouve d'ailleurs dans un fichier "debug").
J'ai refait un hello world (ça m'a rappellé de bon souvenir), pour vous presenter la gravité du probleme, l'executable fait 220 ko!! Quelqu'un pourrait-il me dire comment regler ce probleme, car je ne connais encore que tres peu de chose de ce compilateur.
Merci.

                                                        UltimAKnighT.

7 réponses

BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
29 août 2006 à 19:19
Change la config par le combo central (si je me souviens bien, c'est vieux) au dessus de l'éditeur de code.

ciao...
BruNews, MVP VC++
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
29 août 2006 à 19:22
Au fait, pour Visual C++ Express 2005 c'est ici:
http://www.cppfrance.com/code.aspx?ID=38359
Ce sera un peu plus d'actualité.

ciao...
BruNews, MVP VC++
0
racpp Messages postés 1909 Date d'inscription vendredi 18 juin 2004 Statut Modérateur Dernière intervention 14 novembre 2014 17
29 août 2006 à 19:51
Salut,
Pour Visual C++ 6, tu vas dans le menu Build, tu choisis Batch Build..., tu coche la case Release puis tu cliques sur le bouton Build. Ton projet contiendra un dossier Release contenant l'exécutable.
C'est vrai qu'il est péférable de passer à Visual C++ Express 2005. Il est gratuit. Il te permet de mieux configurer ton projet et l'optimiser.
0
UltimAKnighT Messages postés 34 Date d'inscription samedi 21 janvier 2006 Statut Membre Dernière intervention 12 juillet 2008
29 août 2006 à 20:14
Je vous remercie pour vos reponse, voilà en fait ce que j'ai fait :

-Je suis aller dans le menu build
-Configurations et j'ai remove Win32 debug, ce qui en a resulté un fichier Release à la place d'un fichier debug, effectivement l'executable est moins gros, dans l'exemple de mon hello world, je suis passé de 220ko à 53ko.

Sinon j'en profite pour glisser une tout autre question:
En ce moment, je vois l'allocation dynamique (je revois pour être plus juste ^^), et je me trouve confronter à un probleme assez bizarre.

D'abord voici le code, il est tres tres simple :

---------------------------------------------------------------------------------

#include

using std::endl;

int main()
{
    int tailleTab = 0;

    int *tab = new int[tailleTab];

    std::cout <<"Entrez taille tableau :";
    std::cin >> tailleTab;

    int i = 0;

    for(i = 0; i<tailleTab; i++)
    {
        tab[tailleTab] = 0;
        std::cout << "tab[" << i << "] = " << tab[tailleTab] << endl;
    }

    for(i = 0; i<tailleTab; i++)
    {
        std::cout << "tab[" << i << "] = " << tab[tailleTab] << endl;
    }

    delete[] tab;

    return 0;
}

-----------------------------------------------------------------------------------------

comme on le sait un type int (32 bits) est definis sur un intervalle de -2 147 483 648 à 2 147 483 647
quand j'execute ce programme, et que je met par exemple 100000 comme valeur à tailleTab windows m'envoie un rapport d'erreur (j'ai essayer plusieus valeur comme 50000, 20000 etc... à chaque fois j'obtiens ce message). Pouvez-vous m'expliquez d'oû cela peut provenir?
Merci
 

                                                              UltimAKnighT.
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
UltimAKnighT Messages postés 34 Date d'inscription samedi 21 janvier 2006 Statut Membre Dernière intervention 12 juillet 2008
29 août 2006 à 20:18
Mince je me suis tromper dans le code j'ai rajouter une boucle en trop sans faire expres, voici le vrai code :

#include

using std::endl;

int main()
{
    int tailleTab = 0;

    int *tab = new int[tailleTab];

    std::cout <<"Entrez taille tableau :";
    std::cin >> tailleTab;

    int i = 0;

    for(i = 0; i<tailleTab; i++)
    {
        tab[tailleTab] = 0;
        std::cout << "tab[" << i << "] = " << tab[tailleTab] << endl;
    }

    delete[] tab;

    return 0;
}
0
BruNews Messages postés 21040 Date d'inscription jeudi 23 janvier 2003 Statut Modérateur Dernière intervention 21 août 2019
29 août 2006 à 20:23
int tailleTab = 0;
int *tab = new int[tailleTab];
Tu n'alloues RIEN puisque tu demandes 0 octet.

ATTENTION:
allouer n elements, on peut indexer au maxi à:
tab[n-1]

ciao...
BruNews, MVP VC++
0
UltimAKnighT Messages postés 34 Date d'inscription samedi 21 janvier 2006 Statut Membre Dernière intervention 12 juillet 2008
29 août 2006 à 20:28
Rooohhhh, qu'est que je peux être bête, j'ai honte, je n'avais même pas remarqué.
Je m'excuse d'avoir été aussi distrait et de vous avoir fait perdre un peu de votre temps.
0
Rejoignez-nous