Dev C++ : Problème de compilation
Fermé
Carthoune
-
15 oct. 2017 à 01:22
[Dal] Messages postés 6174 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 2 février 2024 - 6 nov. 2017 à 10:42
[Dal] Messages postés 6174 Date d'inscription mercredi 15 septembre 2004 Statut Contributeur Dernière intervention 2 février 2024 - 6 nov. 2017 à 10:42
A voir également:
- Dev C++ : Problème de compilation
- Telecharger dev c++ - Télécharger - Langages
- Dev home. - Télécharger - Développement
- Dev-pascal - Télécharger - Édition & Programmation
- Error unmounting /dev/sda2 target is busy ✓ - Forum Linux / Unix
- Source file not compiled dev c++ - Forum C++
2 réponses
Yé, je suis arrivée à une conclusion similaire et ait trouvé la ligne :
int fflush(FILE*flush);
Que je met en début de programme pour vider la mémoire tampon/fermer le programme précédemment ouvert/qque chose comme ça.
Cela semble résoudre mon problème et me permet de modifier/compiler à nouveau.
Merci beaucoup!
int fflush(FILE*flush);
Que je met en début de programme pour vider la mémoire tampon/fermer le programme précédemment ouvert/qque chose comme ça.
Cela semble résoudre mon problème et me permet de modifier/compiler à nouveau.
Merci beaucoup!
Whismeril
Messages postés
19028
Date d'inscription
mardi 11 mars 2003
Statut
Non membre
Dernière intervention
24 avril 2024
931
15 oct. 2017 à 09:29
15 oct. 2017 à 09:29
Bonjour
je ne code pas en C ni avec Dev C++, mais cela ressemble à un truc que je rencontre de temps en temps avec Visual Studio.
Lors de la dernière exécution, l'arrêt se passe mal (ou ne pas du tout: boucle infinie, etc...), le fichier n'est pas libéré.
Windows t'interdit donc d'écrire un fichier qui est en cours d'utilisation.
Lance le gestionnaire des taches, cherche ton exe dans les processus et s'il y est tue le.
Réessaye ensuite de compiler.
Si ça ne marche pas, reboote l'ordinateur.
je ne code pas en C ni avec Dev C++, mais cela ressemble à un truc que je rencontre de temps en temps avec Visual Studio.
Lors de la dernière exécution, l'arrêt se passe mal (ou ne pas du tout: boucle infinie, etc...), le fichier n'est pas libéré.
Windows t'interdit donc d'écrire un fichier qui est en cours d'utilisation.
Lance le gestionnaire des taches, cherche ton exe dans les processus et s'il y est tue le.
Réessaye ensuite de compiler.
Si ça ne marche pas, reboote l'ordinateur.
[Dal]
Messages postés
6174
Date d'inscription
mercredi 15 septembre 2004
Statut
Contributeur
Dernière intervention
2 février 2024
1 083
Modifié le 16 oct. 2017 à 10:36
Modifié le 16 oct. 2017 à 10:36
oui, cela peut arriver dans les cas que tu cites, ou encore plus simplement, le programme ne plante pas ou peut se terminer normalement, mais on a mis un
getchar();ou
system("pause");à la fin du code, et on oublie de le terminer en pressant la touche Entrée :-)
Whismeril
Messages postés
19028
Date d'inscription
mardi 11 mars 2003
Statut
Non membre
Dernière intervention
24 avril 2024
931
16 oct. 2017 à 11:39
16 oct. 2017 à 11:39
Ha oui aussi
Modifié le 17 oct. 2017 à 11:02
Cela m'étonnerait beaucoup que une ligne " " que tu mettrais "en début de programme" fasse quoi que ce soit pour ton problème.
Cette ligne (telle que tu l'as écrite) se contente de (re)définir le prototype d'une fonction, qui, en fait, est une fonction standard déjà définie identiquement dans <stdio.h>
http://www.cplusplus.com/reference/cstdio/fflush/
La fonction (correctement utilisée) sert à purger la mémoire tampon de flux d'écriture en cours d'exécution d'un programme. Tu peux l'utiliser, par exemple, en passant (pas stdin, qui est un tampon de lecture) ou un filehandle sur un fichier ouvert en écriture (comme dans l'exemple dans ce lien).
Cela dit, les tampons sont normalement vidés lorsque le programme s'arrête, et si le programme est planté et reste résident en mémoire, fflush au début de l'exécution d'une nouvelle instance en mémoire du programme ne permettra pas de flusher un tampon d'écriture d'un autre processus, ni de convaincre le système d'exploitation que le fichier exécutable correspondant au programme en cours d'exécution planté peut être réécrit.
Dal
Modifié le 17 oct. 2017 à 11:27
dev c++ puisque c'est l'éditeur de texte que le prof a conseillé en début de session.
Dev C++ est un EDI. Le développement de la version d'origine Dev C++ sur www.bloodshed.net s'est arrêté en 2005, et si tu utilises des versions provenant de ce projet, il est possible qu'elles aient des bogues ou ne fonctionnent pas bien avec des systèmes d'exploitation actuels. Orwell a repris le développement pour cet EDI depuis 2011 : http://orwelldevcpp.blogspot.com/ et si tu tiens à utiliser Dev C++ tu devrais probablement t'assurer que tu a bien cette version.
Mais si je ne parviens pas à me démerder d'ici peu, je serais preneuse de suggestions d'autres programmes combinant l'édition et la compilation étant proches de dev c++.
Un autre EDI simple d'utilisation sous Windows est Code::Blocks :
http://www.codeblocks.org/
http://www.codeblocks.org/downloads/26
Les 3 premiers liens de téléchargement pour Windows sont sans MinGW (donc sans compilateur gcc). Utilise les seulement si tu veux utiliser une installation existante de MinGW et si tu sais exactement ce que tu fais.
Sinon, le plus simple, est de désinstaller tes installations de Dev C++ et de MinGW avant d'installer Code::Blocks, et de choisir la version "codeblocks-16.01mingw-setup.exe", qui installe avec la version 16.01 de Code::Blocks un MinGW comportant des versions 4.9.2, 32 bit, SJLJ de gcc, c++ et gdb.
Dal
6 nov. 2017 à 04:35
Enfin, vous avez probablement raison quand au fait que ça n'ait pas complètement résolu mon problème mais sur le coup ça avait semblé fonctionné (j'avais la croyance que ça fonctionnerait et les apparences mon donné l'impression que c'était bien le cas). Sauf que maintenant je travaille sur mon deuxième projet à remettre et dû coup je me trouve à encore avoir de la difficulté avec la compilation. Argh.
Et je vais avouer avoir l'impressions d'avoir été lancé dans l'aventure d'écrire des programmes sans bien avoir reçu l'information à propos de comment ce que j'écris entre en contact avec le fonctionnement de l'ordinateur. À un tel point où je ne sais même vraiment comment parler de mon manque de connaissance / à quel point celui impacte ma capacité à écrire un bon code.
6 nov. 2017 à 10:42
Télécharge Process Explorer et vois si ton programme n'est pas en cours d'exécution : https://docs.microsoft.com/en-us/sysinternals/downloads/process-explorer
S'il est en cours d'exécution, c'est que tu ne l'as pas fermé, ou que tu as tenté de le fermer, mais qu'il a planté, ou que le launcher de Dev C++ ne l'a pas fermé correctement ou n'a pas pu le faire. Termine ton programme avec Process Explorer, et tu devrais pouvoir recompiler.
S'il n'est pas en cours d'exécution d'après Process Explorer, c'est qu'autre chose bloque l'écrasement de l'exécutable déjà généré. Et là.. ben il faut trouver quoi :-)
Des pistes :
- vois si ce n'est pas en fait ton antivirus qui bloquerait la modification de l'exécutable
- vérifie aussi si ton utilisateur a des droits d'administration
- certains utilisateurs confrontés à ce type de problème on pu débloquer leur problème en activant le service Windows "Application Experience" (même si je ne vois pas trop pourquoi). On explique comment faire là.
Dal