Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1877 connectés 

  FORUM HardWare.fr
  Programmation

  [C] petit pb // quel est le meilleur compilateur ?

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[C] petit pb // quel est le meilleur compilateur ?

n°16834
slvn
Posté le 03-03-2001 à 19:11:25  profilanswer
 

petit pb avec ce porg qui compile mais qui foire :
 
#include <stdio.h>
main()
{
int *var;
*var=5;
printf(" *var= %d ", *var);
printf("/n &var= %p ", &var);
printf("/n var= %p ", var);
}
 
 
========
cependant, qu est ce que vous pensez du compilateur Dev C++ ???

mood
Publicité
Posté le 03-03-2001 à 19:11:25  profilanswer
 

n°16835
antp
Super Administrateur
Champion des excuses bidons
Posté le 03-03-2001 à 19:18:17  profilanswer
 

int *var -> pointeur vers un entier, espace mémoire pointé indéfini (puisque variable non initialisée)
*var=5 -> on place 5 à une adresse mémoire indéfinie.
C'est normal que ça plante je crois... non ?


---------------
mes programmes ·· les voitures dans les films ·· apprenez à écrire
n°16838
zop
1 world, 1 web, 1 Windows
Posté le 03-03-2001 à 19:29:04  profilanswer
 

antp a raison : ton pointeur pointe n'importe où, dans ton cas, visiblement dans une zone mémoire où ton programme n'a pas accès, d'où le plantage. Tu devrais essayer  
 
#include <stdio.h>
main()
{
int val;
int *var= &val;
*var=5;
printf(" *var= %d ", *var);//valeur de val(zone pointée par var)
printf("\n &var= %p ", &var);//adresse du pointeur var
printf("\n var= %d ", var);  //adresse de val
}

n°16843
slvn
Posté le 03-03-2001 à 19:52:53  profilanswer
 

je croi sque je melange certain truc en fait :
 
&var designe l adresse de var    ?!
*var  designe l objet d adresse var ?!

n°16846
verdoux
And I'm still waiting
Posté le 03-03-2001 à 20:36:56  profilanswer
 

Oui mais ton pointeur var pointe n'importe où, là.
Pour qu'il pointe sur un endroit valable, il faut soit lui assigner l'adresse d'une variable int, soit allouer de la mémoire avec malloc.

n°16852
slvn
Posté le 03-03-2001 à 21:45:53  profilanswer
 

mince je capte pu rien :(
je viens de chopper un exemple =
 
#include <stdio.h>
main()
{
int i;
int *pi;
i=5;
pi=&i;
*pi=6;
}
 
pkoi a la fin  i vaut 6  ???

n°16857
jupiler
Un cousin...
Posté le 03-03-2001 à 21:58:53  profilanswer
 

slvn a écrit a écrit :

je croi sque je melange certain truc en fait :
 
&var designe l adresse de var    ?!
*var  designe l objet d adresse var ?!




 
 
erreur: un pointeur est une adresse
 
donc &var c'est une adresse d'adresse, ca veut rien dire.
 
var est l'adresse (c'est un entier donc tu peux le mettre dans un printf), *var est la variable pointée, c'est-à-dire stockée
à l'adresse var .
 
 
dans ton exemple:
 
 
#include <stdio.h>  
main()  
{  
int i;  
int *pi;  
i=5;       i vaut 5
pi=&i;      pi devient l'adresse de i
*pi=6;      à l'adresse pi, on place la valeur 6, or i se trouve
            également à cette adresse, donc i recoit la valeur 6
}

n°16858
Roswell_
Posté le 03-03-2001 à 22:03:57  profilanswer
 

ou comme ça (cf Verdoux):
 
#include <stdio.h>  
main()  
{  
int *var;  
var=(int*)malloc(sizeof(int));
*var=5;  
printf(" *var= %d ", *var);  
printf("/n &var= %p ", &var);  
printf("/n var= %p ", var);  
}


---------------
http://www.cheata.net le site qui vous donne la banane!
n°16867
slvn
Posté le 03-03-2001 à 23:52:55  profilanswer
 

merci de vos reponses, j ai enfin capté :)

 

--Message édité par slvn--

n°16886
oh_damned
Posté le 04-03-2001 à 04:05:52  profilanswer
 

le meilleur compilateur C est sans aucun doute possible gcc
paramétrable à volonté, la version Unix étant l'idéal évidemment

mood
Publicité
Posté le 04-03-2001 à 04:05:52  profilanswer
 

n°16895
zop
1 world, 1 web, 1 Windows
Posté le 04-03-2001 à 10:40:20  profilanswer
 

oh_damned a écrit a écrit :

le meilleur compilateur C est sans aucun doute possible gcc
paramétrable à volonté, la version Unix étant l'idéal évidemment




 
Je dis peut-être des bêtises mais du temps ou je m'en servait sous UNIX (AIX 4.1.???) le code n'avait pas l'air très optimisé en comparaison de ce que sortait xlc(je ne suis pas sur du nom) même avec l'option -o2

n°16922
slvn
Posté le 04-03-2001 à 14:49:47  profilanswer
 

en fait qu est ce qu il sont de mieux ces compilateur ??
 
moi j ai choppé Dev C++,   il est tout joli et en plus il marche sous windows !
 
mais apparement , il a une moins bonne reputation, que les autre, ..parceque justement il tourne sous windows

n°16928
Dost67
Posté le 04-03-2001 à 15:30:48  profilanswer
 

Dev C++ est très bien pour le C. Par contre pour le C++ vaut mieux Visual C++ ou Borland C++. Enfin bon avant j'utilisais Dev C++ et ça suffisait pour apprendre ce que c'est que les pointeurs. En plus le compilateur est très rigoureux (conversions implicites, etc...).

n°16932
slvn
Posté le 04-03-2001 à 15:43:28  profilanswer
 

ok, mais pkoi borland  serait mieux ?

n°16962
FMulder
Posté le 04-03-2001 à 21:24:29  profilanswer
 

pour ce qui est de la rigueur de devC++ je ne peux que confirmer.
il est tellment rigoureux que presque tous les codes que je trouve sur le net pour apprendre ne se compilent pas a cause d'erreurs mineures.
si comme moi tu apprends sur le tas a partir de prgs deja fait, je sais pas si c le top devc++.
c pour ca que je cherche borland c++ pour voir si il est plus tolerant.


---------------
Plus tu pedales moins vite Moins tu avances plus vite
n°16967
Roswell_
Posté le 04-03-2001 à 22:27:42  profilanswer
 

bah c'est pas mal un compilo rigoureux, comme ça ça évite de partir dans tout les sens dans les gros prog.


---------------
http://www.cheata.net le site qui vous donne la banane!
n°17007
MC
retour à la raison
Posté le 05-03-2001 à 10:16:31  profilanswer
 

N'oubliez pas que le compilateur n'est qu'un outil dans une chaine. Un debuggeur est très important aussi, surtout quand on debute. Ca evite d'avoir a faire 3 tonnes de printf quand il y a une erreur dans les milles lignes de codes que l'on vient de se cogner. En plus ca fait gagner du temps car on peux visualiser des choses impossibles autrement (espace mémoire, enumérations, backtrace etc...).
 
Pour gcc, il y a gdb qui est aussi multiplateforme, avec plein de frontend graphiques (surtout sous unix, nottament DDD). VisualC++ a le sien aussi. Par contre Borland C++ version gratuite n'en a pas...

n°17010
Toxin
Carpe ★★ Vitam
Posté le 05-03-2001 à 10:42:03  profilanswer
 

gcc a une permissibilité (si ce mot n'existe pas je vais le proposer à l'académie) que l'on peut paramétrer je crois. Si tu veux compiler en C ANSI tu peux.

n°17032
ZZZzzz
Posté le 05-03-2001 à 12:16:18  profilanswer
 

je crois que le meilleur compilateur c/c++ en terme de perfs, c VectorC, mais je n'arrive même pas à télécharger une version démo :( !
ya aussi le compilateur Intel qui n'est pas mal du tout !

n°17044
MC
retour à la raison
Posté le 05-03-2001 à 13:27:16  profilanswer
 

Oui GCC c'est -ansi pour les regles ansi , -Wall pour tout les warnings, -Werror pour erreurs sur les warnings, -pedantic pour la norme ISO (plus stricte que ansi je crois), -pedantic-errors pour arrets sur les warnings... Y'en a des pages comme ca...
 
En plus gcc est multiplateforme/multiprocesseur, donc très bien pour faire du cross-compiling (voire du canadian cross-compiling cad construire un cross-compilo sur un host different du host de destination...)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation

  [C] petit pb // quel est le meilleur compilateur ?

 

Sujets relatifs
Un tres tres bon site pour l`ASP + un petit pb[Visual C++] Les chemins relatifs et compilateur
Un petit probleme de framesCOMPILATEUR COBOL VOUS EN AVEZ UN BON ??? SITE DE COBOL :D
[VB / FTP] Un petit conseil[C++] installer un compilateur sous windows
[Editeur texte] Quel est le meilleur Vi ??Au secours, où trouver un compilateur gratos pour du QBasic, vite!
Petit coup de pouce, j'suis débutant à Delphi ....Ou trouver f95 un compilateur gratuit de fortran?
Plus de sujets relatifs à : [C] petit pb // quel est le meilleur compilateur ?


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR