Witam, mam pytanie odnośnie optymalizacji wielkości kodu. Więc mamy sobie jakiś programik :
i teraz jak mam włączoną optymalizację kodu to plik wynikowy ma 106 bajtów, ale na symulatorze nie działa poprawnie tzn. nie wykonują się żadne obliczenia, ani warunek nie jest sprawdzany. Działa pętla. Jak wyłącze optymalizację to wszystko jest ok i plik zajmuje 836 bajtów. O co w tym chodzi bo nie rozumiem tego ?
#include <avr/io.h>
uint8_t impulsy1;
uint8_t impulsy;
float obliczenie;
int main(void)
{
DDRB=0xFF;
PORTB=0xFF;
DDRB = 0x00;
while(1)
{
impulsy=0;
impulsy1=0;
while(impulsy!=255)
{
if(bit_is_clear(PINB,PB0))
{
impulsy1++;
}
impulsy++;
}
obliczenie = (float)impulsy1/(float)impulsy;
}
}
i teraz jak mam włączoną optymalizację kodu to plik wynikowy ma 106 bajtów, ale na symulatorze nie działa poprawnie tzn. nie wykonują się żadne obliczenia, ani warunek nie jest sprawdzany. Działa pętla. Jak wyłącze optymalizację to wszystko jest ok i plik zajmuje 836 bajtów. O co w tym chodzi bo nie rozumiem tego ?