Article View: pl.comp.lang.c
Article #747Re: argv
From: milosz danielewski
Date: Fri, 23 Jan 1998 00:41
Date: Fri, 23 Jan 1998 00:41
59 lines
3236 bytes
3236 bytes
On Thu, 22 Jan 1998 10:34:44 +0100, Marek Kotowski <mkot@imm.org.pl> wrote: >milosz danielewski wrote: >> >> On Wed, 21 Jan 1998 12:13:24 +0100, Marek Kotowski <mkot@imm.org.pl> >> wrote: >> > Pozwole sobie nie zgodzic sie. >> > Otoz jesli funkcja main jest rozna od innych, to wlasnie >> >"w sensie argumentow i zwracania wartosci". >> >> Niby dlaczego ? Czyzby nie dalo sie jej przekazaywac argumentow jak >> kazdej innej funkcji i czy nie zwraca ona tak samo wartosci ? > > Rozumiem, ze postuluje Pan wywolanie > > main(cos1, cos2); :-) > > Co do sprawy glownej. Main jest funkcja specjalna. Nie wiadomo, >kto i jak wywoluje main. Zgadzam sie, nie wiadomo kto main wywoluje, jednak ten fakt nie implikuje "innosci" tej funkcji. Co do tego jak jest ona wywolywana, to jestem przekonany, ze tak jak kazda inna i nie moze byc inaczej ( tzn. moze ale byloby to bez sensu ). >Owszem, programiscie dane jest wszystko, >co sie dzieje miedzy wywolaniem main i jej koncem. Wie, jak wywolac >funkcje, i jak zwracac wartosci. Ale nie wie, np. komu zwraca >wartosc, konczac main. To moga byc inne programy, srodowiska, etc. >Standard nieprzypadkiem duzo o tym mowi, by bylo jasne, jak rzecz >wyglada, czy powinna wygladac. > Podam przyklad: programowalem kiedys w kompilatorze COBOL-u, >ktory pozwalal - poprzez asembler wbudowany - wywolywac programy >w C. Argumenty dla main przekazywalo sie w ES:BX. Nie bylo to zatem >przekazywanie argumentow "jak kazdej innej funkcji". Owszem, tylko ze nie przekazywales tych argumentow _bezposrednio_ funkcji main. Twoj przyklad tylko potwierdza moja teze o tym, ze main to zwykla funkcja - gdyby panowala w tym wzgledzie dowolnosc, nie moglbys wywolywac programow skompilowanych innymi narzedziami. > I jeszcze slowo co do wywolania main: jesli Pan z gory zalozy, >ze wywolanie tej funkcji jest takie same jak kazdej innej w >programie w jezyku C, to tym samym zalozy Pan implicite, ze >zostala ona wywolana przez inny kod w jezyku C, z wlasna funkcja >main, co jest oczywiscie sprzecznoscia sama w sobie. To pozorna sprzecznosc - oczywiscie tak wlasnie jest ! >PS. Moj przyjaciel podpowiada mi dobre porownanie programu > w C do duszy czlowieka. Nie wiemy, co bylo z nasza dusza > przed naszym urodzeniem, i co bedzie z nia po naszym > zgonie. :-) Niestety, nie ma tu zadowalajacego standardu, > ktory by cos o tym mowil.:-) Kto nie wie, ten nie wie :) milosz danielewski
Technical Details
Message-ID:
<34c7d0eb.2060270@news.icm.edu.pl>Path:
mbox-mo1.pugleaf.net!news-archive.icm.edu.pl!pingwin.icm.edu.pl!news.icm.edu.pl!not-for-mailReferences:
<Pine.LNX.3.96.980118170312.17197A-100000@qrnik.knm.org.pl> <34C5278D.10A8@bdk.lublin.pl> <34C5B81A.8C6@imm.org.pl> <34C654EB.8EE@bdk.lublin.pl> <34C5D854.72FF@imm.org.pl> <34c63d57.923429@news.icm.edu.pl> <34C712B4.22A0@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!not-for-mail From: mdaniel@priv.onet.pl (milosz danielewski) Newsgroups: pl.comp.lang.c Subject: Re: argv Date: Fri, 23 Jan 1998 00:41:44 GMT Organization: ICM's news server Lines: 59 Message-ID: <34c7d0eb.2060270@news.icm.edu.pl> References: <Pine.LNX.3.96.980118170312.17197A-100000@qrnik.knm.org.pl> <34C5278D.10A8@bdk.lublin.pl> <34C5B81A.8C6@imm.org.pl> <34C654EB.8EE@bdk.lublin.pl> <34C5D854.72FF@imm.org.pl> <34c63d57.923429@news.icm.edu.pl> <34C712B4.22A0@imm.org.pl> NNTP-Posting-Host: rap-wct375.katowice.tpnet.pl Mime-Version: 1.0 X-Newsreader: Forte Agent 1.5/32.451 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 7bit