🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

Article View: pl.comp.lang.c
Article #928

Re: pytanie

#928
From: Karpierz
Date: Fri, 30 Jan 1998 19:57
45 lines
1802 bytes
Marek Kotowski <mkot@imm.org.pl> napisal
[...]
>   Do uwag na temat zwiazku volatile z optymalizacja dodalbym
> jeszcze jedna. Otoz kwalifikator volatile bywa pozyteczny
> w konstrukcjach z dalekim skokiem (setjmp, longjmp). 
> Jesli chce sie, by wartosci pewnych zmiennych pozostaly
> niezmienione po wykonaniu longjmp (mowa o zmiennych w
> funkcji, w ktorej wywolano setjmp), nalezy te zmienne
> opatrzec kwalifikatorem volatile. Kompilator nie wstawi ich
> do rejestrow i ewentualny skok longjmp nie zaszkodzi im.

Inna wazna sprawa zwiazana z optymalizacja to np. to, ze 
volatile zapobiega wylaczeniu przed petle wyrazen
ktorych wartosc nie zalezy od petli:

Przyklad (teoretyczny):

volatile int * a = TIMER_ADDRESS;
int czas;

for (;;)
  {
  czas = *a;
  ... 
  }

Gdyby nie volatile optymalizator moglby zrobic tak:

int * a = TIMER_ADDRESS;
int czas;

czas = *a;

for (;;)
  {
  ... 
  }

co oczywiscie powodowaloby bledne dzialanie 
programu.

-- 
Pozdrawiam                                         Adam Karpierz   
mailto:karpierz@intertele.pl
http://www.intertele.pl/users/karpierz 
Technical Details
Message-ID: <01bd2db9$4c1535a0$90baccc2@karpierz.dyn.ml.org>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!uw.edu.pl!ict.pwr.wroc.pl!not-for-mail
References: <199801251001.LAA04510@manjak.knm.org.pl> <6aia2s$dfc$1@sunsite.icm.edu.pl> <34D1F68F.3BD@imm.org.pl>

Show Full Headers
Complete Article Headers
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!uw.edu.pl!ict.pwr.wroc.pl!not-for-mail
From: "Karpierz" <karpierz@inter.intertele.pl>
Newsgroups: pl.comp.lang.c
Subject: Re: pytanie
Date: 30 Jan 1998 19:57:04 GMT
Organization: Technical University of Wroclaw, Poland
Lines: 45
Message-ID: <01bd2db9$4c1535a0$90baccc2@karpierz.dyn.ml.org>
References: <199801251001.LAA04510@manjak.knm.org.pl> <6aia2s$dfc$1@sunsite.icm.edu.pl> <34D1F68F.3BD@imm.org.pl>
NNTP-Posting-Host: ppp144.intertele.pl
X-Newsreader: Microsoft Internet News 4.70.1161
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 7bit