Home › Forum › R8C/13 (01-2006) › BUG du compilo

Forum

Veuillez vous identifier avant de répondre ou pour vous abonner à cette discussion

Sujet: BUG du compilo

Auteur Message

Grumly

11 messages

De passage
De passage

Read post 17-01-2007 17:38

ATTENTION

J'ai trouvé un bug dans le compilo de Renesas (HEW Version 4.00.03.001)

Celui n'aime pas du tout les caractere spéciaux comme les accents (é,à....) qui sont interdit en C, mais normalement pas dans les commentaires.

Donc si comme moi vous mettez

"int i; // Variable incremtée a chaque it"

vous aurez de probleme comme :

* le debuggeur decale tout d'une ligne a chaque caractere , donc on comprends plus rien on re retrouve avec des point d'arret sur des commentaire, les variable sont pas les bonnes etc....

* J'ai eu une erreur de compile en mettant un #ifdef juste derriere...

YMasquel

2504 messages

Expert
Expert

Read post 22-01-2007 19:43

Bonjour "Grumly",

Ce n'est pas à proprement parler une bug du compilateur car il n'y a aucune assurance que celui-ci accepte le jeu de caractères accentués, d'ailleurs ce n'est stipulé nulle part et ce qui n'est pas écrit ne peut être considéré comme acquis. Ce n'est pas parce que certains compilateurs les acceptent que cela devient une règle.

Amicalement, Yves.

Grumly

11 messages

De passage
De passage

Read post 22-01-2007 23:11

Ok d'accord, mais la moindre des choses, si le compilo n'accepte pas les caracteres, et bien c'est qu'il le dise, au lieu de merdouiller de de faire n'importe quoi.

Ca evite de chercher pendant des heures !!!

Et ceci di, 100% des compilo que j'ai utiliser dans mon boulot accepte sans soucis ces caracteres dans le commentaire.

caval

5 messages

De passage
De passage

Read post 30-06-2009 22:08

bonjour
moi je ne comprend pas our le nouveau kit R32C un petit "hello world " que j'ai mis une semaine a trouver la solution (manque ergonomie)voila un problème: bug?

la boucle for crée une boucle infinie

for(i = 1; i = 5; i= i++)
FFFF0012 FA20 MOV.L #1, R2R0
FFFF0014 FAA0 MOV.L #5, R2R0
FFFF0016 A30C JZ FFFF0023H
{
dummy = i/10;
FFFF0018 B220 MOV.L R2R0, R3R1 <----errreur
FFFF001A 3F11080A DIVU.L #0000000AH, R2R0
FFFF001E 52 MOV.L R3R1, R2R0
FFFF001F F221 ADD.L #1, R3R1
FFFF0021 73F2 JMP.B FFFF0014H
}
a voir

SDA

24 messages

De passage
De passage

Read post 01-07-2009 09:42

salut,

si tu as vraiment écrit " for(i = 1; i = 5; i= i++) " , alors c'est normal d'avoir une boucle infinie.
Tu aurais due écrire :

for(i = 1; i == 5; i++)

en fait a chaque boucle au moment du test, la variable i est mise à la valeur 5 et ceci renvoi vrai, donc boucle infini.

nlc

72 messages

Visiteur occasionnel
Visiteur occasionnel

Read post 01-07-2009 09:53

SDATu aurais due écrire :

for(i = 1; i == 5; i++)


Ca, ca ne marchera pas non plus, car dès la première boucle, le test sera faux (i==5), et le corps du for ne sera pas executé !

pour executer 5 fois la boucle, il faut faire :

for(i = 1; i <= 5; i++)

ou

for(i = 0; i < 5; i++)

Modifié par nlc le 01-07-2009 09:55

SDA

24 messages

De passage
De passage

Read post 01-07-2009 09:57

Exact, comme quoi avant de regarder les bugs des autres j'aurais due relire ma copie...

caval

5 messages

De passage
De passage

Read post 01-07-2009 15:03

ça ne change rien ! même avec static unsigned int i;


pour info les automates twido de chez schneider possède un M16C/62P

caval

5 messages

De passage
De passage

Read post 01-07-2009 20:19

c'est bon j'avais fait une mauvaise interpretation d'un tuto d'elektor ou c'etait marqué:
for(i = 1; i < 5;i=i*10)

et doc i=i++ ne marche pas dans cette condition
merci

Veuillez vous identifier avant de répondre ou pour vous abonner à cette discussion

Elektor 6/2012 en kiosque

Elektor-Hebdo gratuit !

Mon adresse électronique :

Unités de crédit Elektor

Nos blogs-ateliers