🚀 go-pugleaf

RetroBBS NetNews Server

Inspired by RockSolid Light RIP Retro Guy

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

Re: Błąd preprocesora czy czegoś nie rozumiem?

#309948
From: M.M.
Date: Fri, 04 Oct 2019 11:57
27 lines
2929 bytes
On Friday, October 4, 2019 at 12:21:39 PM UTC+2, Maciek Godek wrote:
> W dniu piątek, 4 października 2019 12:15:51 UTC+2 użytkownik M.M. napisał:
> > On Friday, October 4, 2019 at 9:22:14 AM UTC+2, Tomasz Kaczanowski wrote:
> > > W dniu 2019-10-03 o 23:36, PawelS pawel(at)wbcd(dot)pl pisze:
> > > 
> > > >> #define TEST2( __x__ ) int __x__  ## __LINE__ = 0
> > > >      int __y__  ## __LINE__ = 0;
> > > >      int __y__  ## __LINE__ = 0;
> > > > niech mnie ktoś poprawi, ale to wygląda trochę jak
> > > > podwójna deklaracja tej samej zmiennej,
> > > > albo już zbyt zmęczony jestem ...
> > > 
> > > __LINE__ daje numer linii z miejsca gdzie jest wywołany, więc to będą 2 
> > > różne zmienne.
> > 
> > Tak programista oczekuje, żeby były to dwie różnie zmienne, jednak 
> > kompilator dawał błąd jakby to była jedna zmienna (dwie zmienne o
> > tej samej nazwie). Przy 'potrójnym wywołaniu' problem ustąpił.
> 
> Bo tak było. Tworzyłeś dwie instancje zmiennej o nazwie y__LINE__
> w tym samym zasięgu.
> 
> Przy zmaganiach z preprocesorem warto wywołać 'cpp' (czyli C PreProcessor), żeby zobaczyć, co trafia do kompilatora.

Racja, warto.

Pozdrawiam
Technical Details
Message-ID: <5ed8cd49-1ac4-45eb-bd4a-c26d6e108775@googlegroups.com>
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!3.eu.feeder.erje.net!2.eu.feeder.erje.net!4.us.feeder.erje.net!feeder.erje.net!weretis.net!feeder6.news.weretis.net!feeder.usenetexpress.com!feeder-in1.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!o24no5860781qtl.0!news-out.google.com!x7ni779qtf.0!nntp.google.com!o24no5860778qtl.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
References: <780a7f39-337b-4b6b-810f-7c4151e10f74@googlegroups.com> <5d9669cf$0$543$65785112@news.neostrada.pl> <qn6rv3$1sta$1@gioia.aioe.org> <283b2657-ac65-4db2-9c88-e87377ab4146@googlegroups.com> <7b9ed67c-207f-4232-bda1-d8d147723dec@googlegroups.com>

Show Full Headers
Complete Article Headers
X-Received: by 2002:ac8:2bc4:: with SMTP id n4mr15577287qtn.298.1570190257968;        Fri, 04 Oct 2019 04:57:37 -0700 (PDT)
X-Received: by 2002:a81:9bd7:: with SMTP id s206mr10924967ywg.193.1570190257741; Fri, 04 Oct 2019 04:57:37 -0700 (PDT)
Path: mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!news.icm.edu.pl!newsfeed.pionier.net.pl!3.eu.feeder.erje.net!2.eu.feeder.erje.net!4.us.feeder.erje.net!feeder.erje.net!weretis.net!feeder6.news.weretis.net!feeder.usenetexpress.com!feeder-in1.iad1.usenetexpress.com!border1.nntp.dca1.giganews.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!o24no5860781qtl.0!news-out.google.com!x7ni779qtf.0!nntp.google.com!o24no5860778qtl.0!postnews.google.com!glegroupsg2000goo.googlegroups.com!not-for-mail
Newsgroups: pl.comp.lang.c
Date: Fri, 4 Oct 2019 04:57:37 -0700 (PDT)
In-Reply-To: <7b9ed67c-207f-4232-bda1-d8d147723dec@googlegroups.com>
Complaints-To: groups-abuse@google.com
Injection-Info: glegroupsg2000goo.googlegroups.com; posting-host=46.170.135.97; posting-account=xjvq9QoAAAATMPC2X3btlHd_LkaJo_rj
NNTP-Posting-Host: 46.170.135.97
References: <780a7f39-337b-4b6b-810f-7c4151e10f74@googlegroups.com> <5d9669cf$0$543$65785112@news.neostrada.pl> <qn6rv3$1sta$1@gioia.aioe.org> <283b2657-ac65-4db2-9c88-e87377ab4146@googlegroups.com> <7b9ed67c-207f-4232-bda1-d8d147723dec@googlegroups.com>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <5ed8cd49-1ac4-45eb-bd4a-c26d6e108775@googlegroups.com>
Subject: Re: Błąd preprocesora czy
 czegoś nie rozumiem?
From: "M.M." <mmarszik@gmail.com>
Injection-Date: Fri, 04 Oct 2019 11:57:37 +0000
Lines: 34
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit