Problème de lenteur d'exécution C++
Répondre à la discussion
Affichage des résultats 1 à 20 sur 20

Problème de lenteur d'exécution C++



  1. #1
    Abdellah7

    Question Problème de lenteur d'exécution C++


    ------

    bonjour
    Capture d’écran 2024-11-13 094133.png
    Capture d’écran 2024-11-13 094234.png
    Comme vous pouvez le voir dans ces deux images l'exécution prends beaucoup de temps .
    Pourriez-vous m'aider à identifier la cause de ce problème et à trouver une solution pour optimiser le temps de traitement ?
    Je possède un PC portable équipé de 8 Go de RAM, d'un SSD de 256 Go, et d'un processeur AMD Ryzen 3 3250U avec Radeon Graphics, fonctionnant sous Windows 10.

    -----

  2. #2
    umfred

    Re : Problème de lenteur d'exécution C++

    pourquoi la déclaration de la fonction est dans le main ? en général, ça se fait en dehors de toute fonction
    c'est quoi comme IDE ? (je crois que c'est codeblocks, je n'avais pas fait attention à son icone dans la barre des tâches)

    Après, je vois qu'il y a des mises à jour windows en attente, peut-être les effectuer pour voir.

  3. #3
    polo974

    Re : Problème de lenteur d'exécution C++

    De ce que j'ai vu, c'est dev-c++, https://sourceforge.net/projects/orwelldevcpp/

    Un truc qui date de 2016, donc obsolète.

    De plus il faudrait savoir d'où il a été téléchargé et s'il n'a pas subit des "modifications".

    15s pour compiler et 30 pour exécuter, c'est carrément anormal.


    Sinon, il y a visual studio community (à chercher là dedans)
    https://visualstudio.microsoft.com/f...res/cplusplus/
    Jusqu'ici tout va bien...

  4. #4
    pm42

    Re : Problème de lenteur d'exécution C++

    Citation Envoyé par polo974 Voir le message
    De ce que j'ai vu, c'est dev-c++, https://sourceforge.net/projects/orwelldevcpp/

    Un truc qui date de 2016, donc obsolète.
    Oui et qui est documenté comme lent sur le Net. Il est possible aussi que l'antivirus joue mais je n'y crois pas.

  5. A voir en vidéo sur Futura
  6. #5
    umfred

    Re : Problème de lenteur d'exécution C++

    En fait, il y a Dev-C++ ET Code:Blocks, chacun a sa capture et un temps d'exécution similaire.

    Dans les alternatives, il y aurait aussi VisualStudio Code (il faut faire quelques configurations en plus).

    J'allais aussi partir du côté de l'antivirus, si la finalisation des mises à jour n'améliore pas les choses.

  7. #6
    Paraboloide_Hyperbolique

    Re : Problème de lenteur d'exécution C++

    Bonjour,

    Le temps d'exécution est clairement anormal. En testant le code sur mon pc, j'obtiens un temps de l'ordre de 0,004 s.

    Quelque chose me chiffonne: est-il normal que la fonction main soit déclarée sans type de retour ? ("main()" au lieu de "int main()"). Mon compilateur (g++ 9.4.0) refuse de compiler sans cela.

  8. #7
    pm42

    Re : Problème de lenteur d'exécution C++

    Citation Envoyé par Paraboloide_Hyperbolique Voir le message
    Quelque chose me chiffonne: est-il normal que la fonction main soit déclarée sans type de retour ? ("main()" au lieu de "int main()"). Mon compilateur (g++ 9.4.0) refuse de compiler sans cela.
    Oui, en C historique, c'était possible. Une fonction sans type de retour était supposée renvoyer un int.
    Depuis C99, ce n'est plus autorisé.

  9. #8
    Paraboloide_Hyperbolique

    Re : Problème de lenteur d'exécution C++

    Citation Envoyé par pm42 Voir le message
    Oui, en C historique, c'était possible. Une fonction sans type de retour était supposée renvoyer un int.
    Depuis C99, ce n'est plus autorisé.
    Merci, tu m'apprends quelque chose En ayant commencé de coder avec la norme C99, j'ai toujours enregistré qu'il fallait taper "int main()" (éventuellement avec les arguments "int argc" et "char* argv[]" quand c'est utile*.)

    *Pour les coupeurs de cheveux en 4: oui on peut nommer ces variables autrement et en ajouter en option, voir: https://en.cppreference.com/w/cpp/la.../main_function

  10. #9
    Abdellah7

    Question Re : Problème de lenteur d'exécution C++

    Bonsoir,

    Merci pour toutes vos réponses. J'ai essayé d'ajouter int avant main et return 0 à la fin, j'utilise la dernière version de Code::Blocks et j'ai placé la fonction echange avant main, mais je rencontre toujours le même problème.

    Lorsque j'utilise un compilateur en ligne, tout fonctionne rapidement.
    Je souhaite maintenant essayer Visual Studio, pour résoudre mon problème de lenteur , je viens d'installer la dernière version depuis le site officiel .

    Lorsque j'ai voulu ajouter C++, une fenêtre est apparue. Pouvez-vous m'aider à cocher les bonnes cases ? Celles qui sont déjà cochées le sont par défaut.

    Capture d’écran 2024-11-15 162636.png
    Capture d’écran 2024-11-15 162728.png

  11. #10
    umfred

    Re : Problème de lenteur d'exécution C++

    Si tu cliques uniquement sur la "charge de travail" "Développement Desktop en C++", tu as les outils de bases nécessaires.

  12. #11
    Bounoume

    Re : Problème de lenteur d'exécution C++

    bonjour,
    quoique depuis longtemps je ne pratique plus ni C ansi ou le C++, je reprends le post de umfred, et j'en rajoute....
    en reprenant la ligne 1
    main()
    { void echange(int &, int &);
    int n=10; p=20;
    ............
    cout..... ;}
    "void echange(int &, int &);" c' est quoi? la déclaration d'une fonction ? même inline... il faudrait en définir le nom de ses variables d'entrée, corps... avec {.....}
    ou alors est-il utile de déclarer l'existence d'une fonction globale bien définie et accessible depuis main()?


    car après la déclaration de main(), il y a tout fait normalement la déclaration de la vraie fonction echange (int & a, int & b).......
    alors que vient faire la première déclaration dans le corps de main()?????

    perso, je suis d'avis de supprimer l'instruction bizzare dans main....
    est-ce justifié?


    ps....
    je pense maintenant à une autre éventualité vicieuse.. la surcharge de la fonction echange.... déclarée 2 fois....(et au demeurant mal définie dans main())
    Cela SI l'environnement est du C++ bien sûr......]
    et alors, ce serait laquelle serait réellement appelée?

    au plaisir que vous accepterez de rafraîchir mes vieux souvenirs

    ps 2 ET, si il y a anomalies, est-que ces anomalies ne pourrait pas être mal gérées dans certaines configurations s de compilation/exécution?????
    rien ne sert de penser, il faut réfléchir avant.... (Pierre Dac...)

  13. #12
    pm42

    Re : Problème de lenteur d'exécution C++

    Citation Envoyé par Bounoume Voir le message
    "void echange(int &, int &);" c' est quoi? la déclaration d'une fonction ? même inline... il faudrait en définir le nom de ses variables d'entrée, corps... avec {.....}
    Non, c'est la définition du prototype de la fonction qu'on veut appeler, qui est définie ailleurs et c'est parfaitement valide à part qu'on évite de le mettre dans le main.

    Citation Envoyé par Bounoume Voir le message
    ou alors est-il utile de déclarer l'existence d'une fonction globale bien définie et accessible depuis main()?
    Elle n'est pas accessible si son prototype n'est pas déclaré justement.

    Citation Envoyé par Bounoume Voir le message
    car après la déclaration de main(), il y a tout fait normalement la déclaration de la vraie fonction echange (int & a, int & b).......
    alors que vient faire la première déclaration dans le corps de main()?????
    Permettre de l'appeler alors qu'elle est déclarée après justement.

    Citation Envoyé par Bounoume Voir le message
    perso, je suis d'avis de supprimer l'instruction bizzare dans main....
    est-ce justifié?
    Le code pourrait être massivement simplifié en effet mais sans savoir quelle est la logique, difficile de dire.


    Citation Envoyé par Bounoume Voir le message
    je pense maintenant à une autre éventualité vicieuse.. la surcharge de la fonction echange.... déclarée 2 fois....(et au demeurant mal définie dans main())
    Cela SI l'environnement est du C++ bien sûr......]
    et alors, ce serait laquelle serait réellement appelée?
    La surcharge, c'est pour les classes. Ici, on est sur du code principalement C.

  14. #13
    Bounoume

    Re : Problème de lenteur d'exécution C++

    bien reçu
    merci de ces précisions,
    rien ne sert de penser, il faut réfléchir avant.... (Pierre Dac...)

  15. #14
    Jack
    Modérateur

    Re : Problème de lenteur d'exécution C++

    Il faudrait revoir le code après les modifications effectuées.


    Citation Envoyé par pm42 Voir le message
    La surcharge, c'est pour les classes.
    Pas forcément, on peut surcharger une fonction en dehors de toute classe.

    Ici, on est sur du code principalement C
    namespace, cout, passage de paramètre par référence: on est plutôt sur du C++

  16. #15
    Jack
    Modérateur

    Re : Problème de lenteur d'exécution C++

    Citation Envoyé par Abdellah7 Voir le message
    bonjour


    Comme vous pouvez le voir dans ces deux images l'exécution prends beaucoup de temps .
    Pourriez-vous m'aider à identifier la cause de ce problème et à trouver une solution pour optimiser le temps de traitement ?
    Je possède un PC portable équipé de 8 Go de RAM, d'un SSD de 256 Go, et d'un processeur AMD Ryzen 3 3250U avec Radeon Graphics, fonctionnant sous Windows 10.
    Quelques lignes vides et une indentation correcte ferait beaucoup de bien à la lisibilité du code.

  17. #16
    pm42

    Re : Problème de lenteur d'exécution C++

    Citation Envoyé par Jack Voir le message
    Pas forcément, on peut surcharger une fonction en dehors de toute classe.
    Je ne connaissais pas. Je veux bien savoir comment.

    Citation Envoyé par Jack Voir le message
    namespace, cout, passage de paramètre par référence: on est plutôt sur du C++
    En effet mais on reste sur du procédural : tu vires le namespace, cela ne change rien. Tu mets printf à la place de cout, idem.

    Reste effectivement les références mais tout ce code est ce qu'on appelait "utiliser le C++ comme un meilleur compilateur C", c'est à dire sans classes mais en profitant de quelques trucs en plus.

  18. #17
    Paraboloide_Hyperbolique

    Re : Problème de lenteur d'exécution C++

    Citation Envoyé par pm42 Voir le message
    Je ne connaissais pas. Je veux bien savoir comment.
    Tout simplement comme ceci*:

    Code:
    #include <iostream>
    using namespace std;
    
    
    void add(int a, int b)
    {
      cout << "sum = " << (a + b);
    }
    
    void add(double a, double b)
    {
        cout << endl << "sum = " << (a + b);
    }
    
    // Driver code
    int main()
    {
        add(10, 2);
        add(5.3, 6.2);
    
        return 0;
    }
    *Code de https://www.geeksforgeeks.org/function-overloading-c/

  19. #18
    pm42

    Re : Problème de lenteur d'exécution C++

    Citation Envoyé par Paraboloide_Hyperbolique Voir le message
    Tout simplement comme ceci*:
    Ok, merci, je connaissais mais j'avais zappé qu'on appelait cela "Function overloading" alors que pour les classes on parle de "Method overloading" d'où ma confusion : ce n'est pas la même chose puisque dans un cas, on a des arguments de type différent qui servent à choisir la fonction alors que dans l'autre on garde les mêmes arguments mais on change l'implémentation.

  20. #19
    Jack
    Modérateur

    Re : Problème de lenteur d'exécution C++

    oui, je pense que tu parlais de la redéfinition d'une fonction, ce qui permet le polymorphisme et est bien lié à la POO.

  21. #20
    Paraboloide_Hyperbolique

    Re : Problème de lenteur d'exécution C++

    Citation Envoyé par pm42 Voir le message
    Ok, merci, je connaissais mais j'avais zappé qu'on appelait cela "Function overloading" alors que pour les classes on parle de "Method overloading" d'où ma confusion : ce n'est pas la même chose puisque dans un cas, on a des arguments de type différent qui servent à choisir la fonction alors que dans l'autre on garde les mêmes arguments mais on change l'implémentation.
    Oui, en effet, il s'agit de deux choses différentes. De plus, il y a régulièrement confusion entre "fonction" et "méthode" (fonction membre d'une classe), soit par ignorance pour les novices, soit par abus de langage et/ou paresse. De plus (mais je peux me tromper), il me semble que la terminologie peut varier d'un langage à un autre.

Discussions similaires

  1. problème d' exécution cpp
    Par invitef316ad1f dans le forum Programmation et langages, Algorithmique
    Réponses: 8
    Dernier message: 28/12/2013, 16h41
  2. Lenteur d'execution sur windows 7
    Par invite2313209787891133 dans le forum Logiciel - Software - Open Source
    Réponses: 3
    Dernier message: 10/07/2012, 17h01
  3. probleme execution .jar
    Par invitec7fd8fb0 dans le forum Programmation et langages, Algorithmique
    Réponses: 5
    Dernier message: 15/09/2011, 04h23
  4. Probleme d'execution
    Par invite560e37d4 dans le forum Logiciel - Software - Open Source
    Réponses: 1
    Dernier message: 03/10/2009, 14h01
  5. Probleme .vbp (execution)
    Par invite90c5d9d9 dans le forum Logiciel - Software - Open Source
    Réponses: 2
    Dernier message: 22/04/2008, 19h00