Forum: Compiler & IDEs GCC for-Schleife wegoptimiert??


von DS aus W (Gast)


Lesenswert?

Hallo Welt,

vollkommen nüchtern habe ich folgendes Problem:
GCC unter Code::Blocks- Getestet unter win7 und Ubuntu 12.04
folgenden Trivialcode:

int i;
int main(void) {
   char *ptr;
   int j,k=10;

   for( i=0; i == k; i++)
   {
       j = i;
       printf(" j ist : %d\n" , j);
   }
}
Die For-Schleife wird einfach ignoriert beim Debuggen ????
Da gibt es doch aber keinen Grund für so etwas - oder?
Da ist mir bei IAR oder CCS noch nie passiert.

Ich habe wirklich nichts getrunken!

Schönen Sonntag!
Dietmar

von Stefan E. (sternst)


Lesenswert?

DS aus W schrieb:
> Die For-Schleife wird einfach ignoriert beim Debuggen ????
> Da gibt es doch aber keinen Grund für so etwas - oder?

Klar wird die wegoptimiert. Die Schleife wird genau 0 mal durchlaufen, 
also kann man sie auch gleich ganz weg lassen.

von Test (Gast)


Lesenswert?

DS aus W schrieb:
> for( i=0; <b>i == k;<b/> i++)    ???

von Floh (Gast)


Lesenswert?

DS aus W schrieb:
> for( i=0; i == k; i++)

Mit k= 10 wird die Schleife nie ausgeführt und zu Recht vom Compiler 
ignoriert.
Schau dir deine Schleifenbedingung an.

von DS aus W (Gast)


Lesenswert?

Oh neeee-
'tschuldigung auch.
Auf dem Linux-Rechner habe ich die Bedingung korrigiert
und auf dem win-Rechner vergessen.

Besten Dank trotzdem!

von Balsam (Gast)


Lesenswert?

hihi, doch was getrunken ;-)
... außerdem Platz verschwendet: char *ptr;

von Daniel F. (df311)


Lesenswert?

DS aus W schrieb:
> Auf dem Linux-Rechner habe ich die Bedingung korrigiert
> und auf dem win-Rechner vergessen.

und was lernt man daraus?
entweder svn, git o.ä. benutzen oder zumindest über einen smb-mount o.ä. 
die gleiche codebasis bearbeiten ;-)

von Stefan (Gast)


Lesenswert?

Hi, der Beitrag ist zwar schon älter, passt aber dennoch hier rein (vlt 
weil ich auch getrunken hab :P)

Nutze AVR Studio 4.19 mit AVR toolchain 3.4.2. Leider stürzt AVR 
komplett ab, wenn ich versuche zu debuggen während eine for-Schleife im 
Code ist.

"AVRStudio MFC Application hat ein Problem festgestellt und muss beendet 
werden."
1
for(uint8_t j=0; j++; j<3)
2
{
3
  outputs = 0;
4
}

Das selbe passiert bei manchen while-Schleifen; andere werden aber 
ausgeführt...

Bin ich doof? oder der Compiler? oder AVR?

Hilfe wäre wirklich nett...

von Rene H. (Gast)


Lesenswert?

Naja, der Code ist ziemlich Sinnfrei und würde ich auch wegstreichen.

Grüsse,
René

von Stefan (Gast)


Lesenswert?

das ist absichtlich sinnfrei. ich habe es soweit reduziert um sicher zu 
sein, dass es nicht am Inhalt der Schleife liegt. trotzdem crasht AVR an 
dem Code-Schnipsel...

und die for-Schleife ist direkt im main-programm

von foo (Gast)


Lesenswert?

1
for (initialization; condition; increment-decrement)
2
{
3
    // Statements.
4
}

von Stefan (Gast)


Lesenswert?

hast du natürlich vollkommen recht... geht trotzdem nicht

selbst bei einer
1
while(1)
2
{}
crashed AVR. kanns sein dass irgendwas nicht richtig installiert oder 
ins Projekt eingebunden ist?

es kommt ja auch kein Fehler beim Compilieren oder sowas sondern 
wirklich nen Programm Absturz

von Postix (Gast)


Lesenswert?

Schade hast du dir kein Beispiel genommen am OT - der wusste, wie man 
"Problemsource" postet - naemlich komplett.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Stefan schrieb:
> trotzdem crasht AVR

Nein, es crasht nicht "AVR", sondern dein AVR Studio.  Das hat mit
dem Thema des Threads überhaupt nichts zu tun.  Da außerdem Atmel
die von dir benutzte Version von AVR Studio nicht weiter unterstützt,
wirst du dafür auch keinerlei Support mehr bekommen.

von Stefan (Gast)


Lesenswert?

ja ok ich helfe mir selbst...

"Da außerdem Atmel die von dir benutzte Version von AVR Studio nicht 
weiter unterstützt, wirst du dafür auch keinerlei Support mehr 
bekommen."

deshalb frage ich ja auch hier an

von Peter D. (peda)


Lesenswert?

Stefan schrieb:
> deshalb frage ich ja auch hier an

Nö.
Du kaperst einen themenfremden Thread und gibst völlig unzureichende 
Informationen.

von Jörg W. (dl8dtl) (Moderator) Benutzerseite


Lesenswert?

Stefan schrieb:
> deshalb frage ich ja auch hier an

Wenn dein Atmel Studio abstürzt, wird dir wohl keiner aus dem Forum
das Studio reparieren können.

Ansonsten kannst du bitte im Forum "PC Hard- und Software" einen
passenden Thread mit ausreichenden Informationen eröffnen, denn
Atmel Studio ist "PC-Software".  Am besten ein komplettes Projekt
mitposten, welches den Fehler reproduziert.

Dieser Beitrag ist gesperrt und kann nicht beantwortet werden.