Article View: pl.comp.lang.c
Article #928Re: pytanie
From: Karpierz
Date: Fri, 30 Jan 1998 19:57
Date: Fri, 30 Jan 1998 19:57
45 lines
1802 bytes
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-mailReferences:
<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