60

Pollux
:
Quoi !!? Tu as essayé le dernier DevC++, le 4.9.8.4 ? ça déchire ! Y'a quoi de si indispensable qui lui manque ?
J'ai essayé la 4.9.8.3, et déjà j'ai pas été ébloui par l'IDE (mais il y a qd même l'auto-complétion, c'est pas mal, après faut voir si ça marche bien pour des sources faites maison -- cela dit, il manque quand même les macros, à moins que j'aie mal cherché), mais en fait ce qui m'a rebuté c'est le fait que le mode debug n'a pas l'air de marcher (il me dit à chaque fois qu'il faut recompiler en mode debug alors que j'ai bien recompilé avec toutes les options de debug possibles). Et je présume que c'est un debugger mode texte, de toute façon (gdb) ?

Non, le débogueur est intégré à l'IDE. (L'IDE sert de frontend à GDB, un peu comme Insight, DDD etc.)
Arrgh!!! #pang#
Et avec ça on s'étonne qu'il y a tellement de bloatware en circulation. Bref: M$ --> poubelle...
N'importe quoi. Le code de Debug, c'est pas fait pour être mis en circulation.

Je te signale que je répondais à:
la version "standard", qui n'optimise pas le code

là. Où était-il question de code de debug?
Si tu préfères utiliser MinGW en ligne de commande avec -O6 pour débugger, c'est ton choix. Perso, je préfère pouvoir faire du debugging pas-à-pas, donc l'optimisation je m'en tape tant que ce n'est pas pour distribuer mon prog (auquel cas je recompile avec GCC).
(et ne me dis pas que l'optimisation c'est très important, même pour débugger, etc...)

Si c'est pour déboguer un bogue qui ne se produit qu'à optimisation activée, ben ça sert. roll Mais en général, je compile aussi en -O0 quand je veux déboguer.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

61

Je te signale que je répondais à:
la version "standard", qui n'optimise pas le code
là. Où était-il question de code de debug?

Il est question de code de debug dans la mesure où une IDE ne sert pas à compiler un programme, ou alors de manière annexe, mais plutôt à le debugger. Rien ne t'empêche de faire un makefile pour le mode Release qui utiliser GCC et pas VS.

Et VS te prévient quand tes options incluent l'optimisation (mode Release) qu'il ne peut pas optimiser dans sa version "standard".
Si c'est pour déboguer un bogue qui ne se produit qu'à optimisation activée, ben ça sert. roll

Franchement, ce genre de bogue est rare voire même franchement inexistant. VC++ ajoute assez de sanity checks pour que ce genre de choses n'arrive pas.
Mais en général, je compile aussi en -O0 quand je veux déboguer.

eek Tu étais farouchement contre il n'y a pas si longtemps que ça. Si la recherche marchait j'essayerais peut-être de retrouver le topic...

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

62

Si c'est pour déboguer un bogue qui ne se produit qu'à optimisation activée, ben ça sert.

=> normalement ce type de bug peut être trouvé avec des outils spécialisés
N'importe quoi. Le code de Debug, c'est pas fait pour être mis en circulation

=> c'est vrai. Malheureusement, on voit plus souvent qu'on voudrait des progs compilés en debug dans des produits finis (enfin, aussi finis que puissent l'être des logiciels proprios. mais je m'éloigne là...)

_______________

IDE vraiment bien ? GIDEON (KDevelop3). http://www.kdevelop.org
Franchement, si t'as pas Linux, mais que tu développes beaucoup, considère l'utilisation de la Knoppix (gideon est inclut dedans).

Les screenshots sont rangés ici : http://www.kdevelop.org/index.html?filename=screenshots1.html
La liste des langages supportés est là : http://developer.kde.org/documentation/library/cvs-api/kdevelop/html/LangSupportStatus.html

Entre autres fonctionnalités que j'utilise particulièrement :
- coloration syntaxique dans 58 langages de prog différents (dont le langage de script quake et half-life smile )
- gestion automatique de automake/autoconf. Bon, je suppose que pour développer pour ti89, c'est pas d'un grand intérêt. Mais comme j'ai dit que c'est les fonctionnalités que J'utilise
- intégration avec CVS. Si vous connaissez pas, vous venez de perdre 100 points. Dépèchez-vous, google est votre ami.
- intégration avec l'environnement de développement Qt pour applis graphiques portables
- intégration avec gdb et gcc (surprise)
- intégration avec Doxygen (http://www.doxygen.org), un outil de documentation automatique de projets
- la console intégrée dans l'IDE. C'est idiot, mais qu'est-ce que c'est pratique !

Bon, la liste complète est là : http://www.kdevelop.org/index.html?filename=features.html.


(edit: lien boulet qui pointant vers www.yaronet.com/www.kdevelop.org)
Hum, voilà une page avec que des longs posts....

63

Pollux
: Et VS te prévient quand tes options incluent l'optimisation (mode Release) qu'il ne peut pas optimiser dans sa version "standard".

Je garde mon avis qu'une version "standard" qui n'optimise pas est un encouragement au bloatware.
Mais en général, je compile aussi en -O0 quand je veux déboguer.

eek Tu étais farouchement contre il n'y a pas si longtemps que ça. Si la recherche marchait j'essayerais peut-être de retrouver le topic...

Je suis contre le fait qu'un compilateur me force à déboguer en -O0 ou l'équivalent. Si je veux déboguer en -O0, je lui dis. Si je veux déboguer en -Os, je veux aussi pouvoir lui dire.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

64

Moi, j'ai utilisé VS 6.0 Entreprise pendant un moment en BTS, et heureusement celui-ci optimisait. Par contre on ne peut pas utiliser les entrées-sorties périphériques (inp et outp) en optimisant, ça fait bugguer, donc il fallait désactiver l'optimisation pour ce source-là. Ce qui est bizarre, c'est qu'on ne pouvat le faire que dans le projet, le #pragma optimize(off) n'empêchait pas le bug...

Maintenant, j'ai une version pro chez moi, je la paireai quand je commencerai à l'utiliser pour des fins payantestongue... (j'ai les licenses de tous mes jeux par contre)
avatar
Maintenant j'ai la flemme de garder une signature à jour sur ce site. Je n'ai même plus ma chaîne Exec sous la main.

65

Je garde mon avis qu'une version "standard" qui n'optimise pas est un encouragement au bloatware.

C'est un encouragement à utiliser Visual Studio si tu te fous du prix du logiciel, ou bien à écrire du code portable.
Je suis contre le fait qu'un compilateur me force à déboguer en -O0 ou l'équivalent. Si je veux déboguer en -O0, je lui dis. Si je veux déboguer en -Os, je veux aussi pouvoir lui dire.

Ca m'étonnerait que GCC fonctionne correctement en mode debug avec -Os...


Link> et en faisant un wrapper pour inp et outp compilé sans optimisation, ça ne marche pas?

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

66

Pollux
:
Je suis contre le fait qu'un compilateur me force à déboguer en -O0 ou l'équivalent. Si je veux déboguer en -O0, je lui dis. Si je veux déboguer en -Os, je veux aussi pouvoir lui dire.
Ca m'étonnerait que GCC fonctionne correctement en mode debug avec -Os...

-g -Os marche assez bien. Les seuls problèmes sont que parfois des instructions source ne sont jamais repérées comme "atteintes" par GDB parce qu'ils ont été supprimées par l'optimisation et que de temps en temps la valeur actuelle d'une variable affichée par GDB n'est pas la bonne, encore un effet de l'optimisation. C'est pour ça que -O0 est préférable, mais c'est loin d'être obligatoire.
Link
: Par contre on ne peut pas utiliser les entrées-sorties périphériques (inp et outp) en optimisant,

De toute façon, cette construction n'est pas du tout portable. Essaye d'exécuter ton programme sous NT et tu verras que ça ne marche pas.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

67

-g -Os marche assez bien. Les seuls problèmes sont que parfois des instructions source ne sont jamais repérées comme "atteintes" par GDB parce qu'ils ont été supprimées par l'optimisation et que de temps en temps la valeur actuelle d'une variable affichée par GDB n'est pas la bonne, encore un effet de l'optimisation. C'est pour ça que -O0 est préférable, mais c'est loin d'être obligatoire.

Ce n'est pas obligatoire non plus sous Visual Studio, mais même à l'époque où j'avais VS, je ne l'utilisais jamais.
Et crois-moi, ça pose d'autres problèmes, notamment si tu modifies une valeur, à peu près n'importe quoi peut se passer (et c'est normal).

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

68

kevin-> pour une carte avec divers composants (port para, timer etc.) assemblés à la main, il n'y a pas de pilote... Donc, je ne vois pas trop comment faire autrement...
avatar
Maintenant j'ai la flemme de garder une signature à jour sur ce site. Je n'ai même plus ma chaîne Exec sous la main.

69

C'est pas possible de te faire un driver maison? En plus, ça te permettrait de compiler le prog principal (hors driver) avec optimisation...

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

70

On n'a pas appris à faire un driver, encore moins sous windows, et sous NT n'en parlons pas...
avatar
Maintenant j'ai la flemme de garder une signature à jour sur ce site. Je n'ai même plus ma chaîne Exec sous la main.

71

C'est vrai que je ne sais pas trop à quoi ça ressemble. Mais à moins que tu doives fournir obligatoirement un protocole de reconnaissance du matériel, je ne vois pas ce qui pourrait être vraiment plus compliqué que inp/outp? En même temps ce serait tout aussi possible qu'il faille affecter des IRQ/DMA/etc et que ça complique les choses.

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

72

et comme pour le projet, on avait juste besoin de lire les entrées d'un CAN situé sur la carte et les afficher, et qu'on n'a eu la carte que pour des petits progs asm pour DOS et pour le projet (même pas sur, si ça se trouve, c'était deux cartes différentes), on n'allait pas EN PLUS de toute la communication réseau, principal critère de notation du projet, faire un driver sans rien y connaitre!
Alors on fait juste les lectures avec inp, certains réglages avec outp, et ça suffisait pour win98se...

Et afficher les veleurs sur un graphe sans avoir rien appris en cours de la Windows GDI, ça en jetait et ça nous occupait plus que la lecture des valeurs qui marchait parfaitement sans optimisation...
avatar
Maintenant j'ai la flemme de garder une signature à jour sur ce site. Je n'ai même plus ma chaîne Exec sous la main.