begin process at 2012 02 10 01:57:15
  Trouver un code source :
 
dans
 
Accueil > Forum > 

C

 > 

Windows

 > 

Autre

 > 

DevCpp capricieux ? bug étrange...


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

DevCpp capricieux ? bug étrange...

samedi 2 juin 2007 à 01:45:07 | DevCpp capricieux ? bug étrange...

nollyflip

Bonjour,
J'ai un comportement étrange (et pour le moins énervant) de dev cpp, je me dis que ce bug est peut-être connu et résolu. J'ai la 4.9.9.2 (dernière en vie)

Je vais faire simple :
Voici mon code, et voici les symptomes :
   1 -  Je déclare la structure test *ptest; et  je metptest->valeur=10;, qui pointe dans la structure. Ca compile mais plante à l'exécution.(ca n'arrive pas au system(pause)).
   2 - Si ensuite j'enlève ptest->valeur=10; et que je ne conserve que test *ptest; même réaction, plante.
   3 - Si ensuite encore, après avoir enlevé les deux, je compile, ca marche jusqu'au system(pause).
   4 - Je me remet dans la même config que 2, ca marche. Si je repasse ensuite à la 1, ca replante...

#include <stdio.h>
#include <stdlib.h>

struct _test
       {
       int valeur;
       };
typedef struct _test test;      
      
int main(int argc, char *argv[])
{
    test *ptest;
    ptest->valeur=10;
    printf("Valeur : %d\n",ptest->valeur);
 
  system("PAUSE");   
  return 0;
}

En aucun cas la compil ne plante. Le code me parait parfaitement juste.
Autre symptomes étranges :

    Je suis actuellement sur une appli GTK temps réel (450 lignes), je fonctionne beaucoup avec des pointeurs sur des structures. Je déclare ces pointeurs en local à main ou en global selon que j'ai besoin de récupérer les adresses dans des threads ou pas.

Bref ca fonctionne parfaitement bien, jusqu'a ce que j'ai créé (rajouté !) une nouvelle structure (identique aux autres !) en global pour passer des paramètres, et que j'y affecte une valeur dans main.
Ce coup ci, une autre blague :
    compil OK, mais ne lance rien. Il me créee un fichier projet1.3 au lieu d'un projet1.3.exe, et si je renomme le projet1.3 en projet1.3.exe, ca marche (les valeurs dans les structures sont bien appliquées, ca plante pas ni rien).

J'ai bien essayé entre chaque compile de virer tous les fichiers sauf le *.dev et le *.c (vaut mieux !)

Bref,


samedi 2 juin 2007 à 06:51:14 | Re : DevCpp capricieux ? bug étrange...

The_Guardian

Le DevC++ étant devenu quasi obsoléte, sans mise a jour, tu devrais penser à changer de compilateur, et de prendre code::block qui est vraiment extra, c'est mon avis perso.


Une autruche ne se cuit pas aux petits lardons
samedi 2 juin 2007 à 08:59:23 | Re : DevCpp capricieux ? bug étrange...

aardman

Membre Club
Salut,
ptest est un pointeur qui ne pointe sur rien, normal que ca plante.

samedi 2 juin 2007 à 10:05:34 | Re : DevCpp capricieux ? bug étrange...

BruNews

Administrateur CodeS-SourceS
aardman > je ferai un de ces jours le compte par semaine sur les questions de pointeurs fantomes.

nollyflip > Le compilateur c'est important mais l'étude du C dans un bon bouquin est indispensable. Si on peut y aller par tatonnement en interprété, c'est hors de question en C.

ciao...
BruNews, MVP VC++
samedi 2 juin 2007 à 10:07:51 | Re : DevCpp capricieux ? bug étrange...

deck_bsd

Membre Club
Réponse acceptée !
Yop,

test *ptest;
ptest->valeur=10;

ici ptest ne pointe sur rien. Tu doit allouer la mémoire nécessaire à ta structure et faire pointé ptest sur celle-ci. Exemple :

if((ptest = (test*)malloc(sizeof(test))) == NULL)return 1;


++
deck_bsd
___________________________________
[ [ Lien ]]
samedi 2 juin 2007 à 10:09:49 | Re : DevCpp capricieux ? bug étrange...

deck_bsd

Membre Club
Biensur ne pas oublié le free à la fin.

++
deck_bsd
___________________________________
[ [ Lien ]]
samedi 2 juin 2007 à 11:16:10 | Re : DevCpp capricieux ? bug étrange...

The_Guardian

Ah oui, tiens, j'avais même pas regarder le code, tant j'étais fixée sur le compil ( lol )

Une autruche ne se cuit pas aux petits lardons
samedi 2 juin 2007 à 11:51:40 | Re : DevCpp capricieux ? bug étrange...

julien_boss

Je code sous dev-cpp et tous les bugs qui me sont apparus étaient tjs causés par une erreur de code, jamais à cause du compilo :)
samedi 2 juin 2007 à 12:19:43 | Re : DevCpp capricieux ? bug étrange...

The_Guardian

Oui, sans doute que j'ai trop de aprioris sur le devC++ :p

Une autruche ne se cuit pas aux petits lardons
samedi 2 juin 2007 à 12:56:00 | Re : DevCpp capricieux ? bug étrange...

vicenzo

Membre Club
Ne pas oublier que DevC++ est un IDE qui utilise par défaut GCC (minGW).

Donc parler du compilo de DevC++, c'est parler de GCC et  prendre en défaut GCC n'est pas évident, surtout en compilation C et si on veut profiter du C99 car Visual Studio ne supporte pas et ne supportera surement jamais le C99 !

Sinon BruNews a raison, DevC++ est obsolète et a connu son heure de gloire par sa gratuité... Masi depuis de Tonton Bill a sortie VS en version Express gratuite, sous Windows, autant utiliser VS Express... Surtout que les compilateurs VC7 (VS2003) et VC8 (VS2005) sont maintenant beaucoup plus respectueux des normes (pour le C++ du moins) et sont ceux qui , sous Windows, fourniront le meilleur code machine (sauf peut être encore pour les templates qui ont tout de même été entierement revisités...).

Donc un peu d'humilité !! Avant que dire que ca marche par et que c'est la faute aux autres ou aux outils, vaut mieux examiner son code car dans 100% des cas c'est la faute au code... surtout si on manipule des pointeurs en C sans savoir ce quoi il s'agit...

Car déclarer un pointeur sur une structure sans initialisation et à la ligne suivante accèder à des membres de la structure référencée par le pointeur, c'est d'une part suicidaire mais cela dénote que l'on rien compris aux pointeurs et que c'est pas gagné et qu'il ya du taf !

BruNews, en temps qu'admin, ca te déprime pas ??

Bon week end
...

1 2 3

Cette discussion est classée dans : valeur, test, plante, ptest, projet1


Répondre à ce message

Sujets en rapport avec ce message

CcomboBox valeur par defaut [ par shaolinn ] hello Comment fait ton pour mettre une valeur par defaut dans une combobox au moment de l'affichageCCombobox test ;et apres c qu'elle methode?test.??? monObjet test = valeur; <- Comment faire svp ? [ par Bub325 ] je cherche donner une valeur à mon objet dès l'initialisation, car operato= ne marche que après. donc comment faire svp ?Merci beaucoup pour vos répon la creation d'objets en c++ [ par whikie ] Bonjour a tous,Je suis toujours en train d'apprendre les bases du c++, et la je me lance pour creer des objets.Je voudrais creer des objets 'cartes a besoin d'aide [ par zhao77 ] Bonjour a tous ,voila j'ai un probleme que je n'arive pas a resoudre prenons ce bout de programme :fichier = fopen ("/sauvegarde/test.txt", "a+") ;if Problemme de pointeur [ par malefitrix ] Bonjour a vous,donc je vous explique. int main() { unsigned int *test=2293516;//l'adresse ou ce trouve la variale toto (prog2) printf("%p %u problème QComboBox dépenadnts l'un de l'autre [ par mm89 ] Bonjour tout le monde je suis entrain de développer une application de gestion avec Qt, et j'ai dans un formulaire deux QComboBox.à chaque valeur du p Comment afficher la valeur d'une variable dans un textbox [ par sokpassy85 ] Bonjour, Je voudrais afficher la valeur d'une variable x dans un textbox contenu dans un "Form". Par exemple si x = 4.5, aprés éxécution du programme SOAP- générer xml à partir du wsdl et du xsd [ par Negritson ] Bonjour à tous, Je cherche un générateur de flux XML à partir d'un fichier wsdl et d'un xsd. J'ai trouvé sur google l'outil XMLSpy mais ça ne marche variable global [ par chiro2000 ] Bonjour voici mon probleme je dispose de trois fichier dessin.cpp param.cpp global.h j ai une variable global:double temp_x, qui instanciée dans globa Récupérer une valeur dans un tableau [ par sokpassy85 ] Bonjour, j'ai un matrice/tableau de 10 lignes et 4 colonnes). Je veux trouver le maximum dans la 2 eme colonnes(i,2) et ensuite récupérer la valeur c


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

Photothèque

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,936 sec (3)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales