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

  FORUM HardWare.fr
  Programmation
  C++

  Grigri/Magie dev C++

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Grigri/Magie dev C++

n°1038526
_Noir_
Posté le 07-04-2005 à 10:35:35  profilanswer
 

Bonjour,
j'utilise devC++ 4.9.9.1 avec g++ 3.3.1-20030804-1 (dixit devC++)
J'ai crée un projet console qui se compile sans warning, ni erreur. Et voici ce qui se passe si, dans option du projet, je coche:
 
1) Rien: ca tourne.
2) Quelques optimisations: oui /Optimiser: non / Optimiser Plus: non / Meilleure Optimisation : non / ca tourne.
3) Quelques optimisations: non /Optimiser: Oui/ Optimiser Plus: non / Meilleure Optimisation : non / ca ne tourne pas. (idem avec les deux autres).
4) Rien mais Option du compilateur -O3: ca ne tourne pas.
 
J'ai comme dans l'idée que le problème vient des tablos que je crée dynamiquement, bien que l'erreur ne vienne ni de leur création, ni de leur allocation à proprement parlé puisque l'éxécution s'arrête un peu plus loin.
J'ai cherché un peu et j'ai trouvé ça: http://forum.hardware.fr/hardwaref [...] 8547-1.htm, ce qui ne m'avance pas bcp.
 
Mon petit esprit, cartésien malgré lui, n'aime pas les reflets dans la caverne et voudrait bien comtempler la lumière de la connaissance. Quelqu'un pourrait-il me dire à quoi correspondent ces options d'optimisation?
 
Par avance, merci.

mood
Publicité
Posté le 07-04-2005 à 10:35:35  profilanswer
 

n°1038553
Lam's
Profil: bas.
Posté le 07-04-2005 à 10:46:41  profilanswer
 

man gcc
(là par exemple: http://www.hmug.org/man/1/gcc.html mais attention, c'est pour Macintosh).
 

Options That Control Optimization
 
       These options control various sorts of optimizations.
 
       Without any optimization option, the compiler's goal is to reduce the
       cost of compilation and to make debugging produce the expected results.
       Statements are independent: if you stop the program with a breakpoint
       between statements, you can then assign a new value to any variable or
       change the program counter to any other statement in the function and
       get exactly the results you would expect from the source code.
 
       Turning on optimization flags makes the compiler attempt to improve the
       performance and/or code size at the expense of compilation time and
       possibly the ability to debug the program.
 
       Not all optimizations are controlled directly by a flag.         Only opti-
       mizations that have a flag are listed.
 
       -O
       -O1 Optimize.  Optimizing compilation takes somewhat more time, and a
           lot more memory for a large function.
 
           With -O, the compiler tries to reduce code size and execution time,
           without performing any optimizations that take a great deal of com-
           pilation time.
 
           In Apple's version of GCC, -fstrict-aliasing, -freorder-blocks, and
           -fsched-interblock are disabled by default when optimizing.
 
       -O2 Optimize even more.        GCC performs nearly all supported optimiza-
           tions that do not involve a space-speed tradeoff.  The compiler
           does not perform loop unrolling or function inlining when you spec-
           ify -O2.  As compared to -O, this option increases both compilation
           time and the performance of the generated code.
 
           -O2 turns on all optimization flags specified by -O.         It also turns
           on the following optimization flags: -fforce-mem -foptimize-sib-
           ling-calls -fstrength-reduce -fcse-follow-jumps  -fcse-skip-blocks
           -frerun-cse-after-loop  -frerun-loop-opt -fgcse   -fgcse-lm
           -fgcse-sm -fdelete-null-pointer-checks -fexpensive-optimizations
           -fregmove -fschedule-insns  -fschedule-insns2 -fsched-interblock
           -fsched-spec -fcaller-saves -fpeephole2 -freorder-blocks  -fre-
           order-functions -fstrict-aliasing -falign-functions        -falign-jumps
           -falign-loops  -falign-labels
 
           Please note the warning under -fgcse about invoking -O2 on programs
           that use computed gotos.
 
       -O3 Optimize yet more.  -O3 turns on all optimizations specified by -O2
           and also turns on the -finline-functions and -frename-registers
           options.
 
       -O0 Do not optimize.  This is the default.
 

n°1038555
Taz
bisounours-codeur
Posté le 07-04-2005 à 10:47:00  profilanswer
 

balance ton code. Un code pourrie peut des fois fonctionner à cause d'effets de bords.

n°1038793
_Noir_
Posté le 07-04-2005 à 13:26:47  profilanswer
 

Merci pour l'aide. Je comprends donc que -O3=Meilleure optimisation pour devcpp -O1->quelques, etc.
 
Quant à diffuser mon code, c'est un peu compliqué comme ca, il tient sur plein de fichiers, etc. Il se peut qu'il soit pourri, j'en suis meme convaincu car il a été écrit par ajout pdt 3 ans, que je ne suis pas programmeur, que ma formation en c a été très expéditive, etc. Mais il fait ce que je lui demande.. a sa vitesse :). J'avais ds l'idée de le réécrire en C car je ne suis plus convaincu qu'il faille absolument l'écrire en C++, avec des classes mais c'est long et je n'ai pas de temps à consacrer à cela pour l'instant.
 
Ma question était plus par curiosité car je n'aime pas trop les phrases du style 'plus d'optimisation'. La réponse de Lam's me satisfait. Je sais à quoi m'en tenir maintenant. Je n'ai malheureusement pas encore ce réflexe de taper man. Ca va venir.  
 
Merci encore


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

  Grigri/Magie dev C++

 

Sujets relatifs
[C] programmation IPC (memoire partagee) sous Unix >> magie inside <<[Oracle] decode marche pas (tour de magie)
Plus de sujets relatifs à : Grigri/Magie dev C++


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