Witam,
mam dość dziwny kłopot z optymalizacją kodu, nie będę zamieszczał tu jego bo szkoda miejsca na całość. Chodzi mianowicie o coś takiego.
mam zadeklarowane zmienne.
Kłopot pojawia się dopiero podczas inicjowania wskaźnika bo o ile w epilogu głównej procedury main przypisanie adresu za pomocą
odnosi skutek, natomiast już zmiana tego adresu w pętli while już nie, czyli coś takiego
nie przynosi żadnego efektu. Kompilator pomija te fragmenty kodu. Nie przynosi oczywiście przy włączonej optymalizacji kodu, z wyłączoną optymalizacją wszystko jest w porządku. Reasumując mam kłopot ze zmianą adresów zmiennych przypisanych do jednego wskaźnika.
Czy ktoś ma jakiś pomysł jak to "pokonać" ? Chodzi o AVR Studio v4 i AVR GCC
mam dość dziwny kłopot z optymalizacją kodu, nie będę zamieszczał tu jego bo szkoda miejsca na całość. Chodzi mianowicie o coś takiego.
mam zadeklarowane zmienne
volatile unsigned int *zmienna1;
volatile unsigned int zmienna2;
volatile unsigned int zmienna3;Kłopot pojawia się dopiero podczas inicjowania wskaźnika bo o ile w epilogu głównej procedury main przypisanie adresu za pomocą
zmienna1=&zmienna2;odnosi skutek, natomiast już zmiana tego adresu w pętli while już nie, czyli coś takiego
while(1){
zmienna1=&zmienna3;
// reszta programu
}nie przynosi żadnego efektu. Kompilator pomija te fragmenty kodu. Nie przynosi oczywiście przy włączonej optymalizacji kodu, z wyłączoną optymalizacją wszystko jest w porządku. Reasumując mam kłopot ze zmianą adresów zmiennych przypisanych do jednego wskaźnika.
Czy ktoś ma jakiś pomysł jak to "pokonać" ? Chodzi o AVR Studio v4 i AVR GCC
