argv[0]

Ing. Pavel PaJaSoft Janousek Janousek na FoNet.Cz
Středa Duben 2 13:27:05 CEST 2003


> -----Original Message-----
> From: Petr Stehlik [mailto:pstehlik na sophics.cz] 
> Sent: Wednesday, April 02, 2003 1:05 PM
> To: linux na linux.cz
> Subject: argv[0]
> Je to nahoda, nebo se na to muzu spolehnout? A proc to Honza 
> nema ani na
> jednom ze tri systemu stejne jako ja?

	To co napisu je jen muj nazor, nemam aktualne podlozeno zadnym
odkazem na normu apod. Domnivam se, ze argv[0] obsahuje 'nazev'
spustitelneho souboru tak, aby byl dosazitelny... Takze pokud mame nejak
definovane PATH a spustim binarku, ktera lezi v ceste, mohu se na ni dostat
3 zpusoby:

a) relativne k aktualni lokaci (za relativni povazuji i ./<exe>)
b) absolutni cestou od rootu (v UNIXech od adresare "/", v DOSech od pismene
disku, v MS site (a zrejme i Novell) od UNC cesty)
c) pouze jmenem a at si to najde OS/shell sam

	Pokud nelezi v PATH, pripadaji v uvahu pouze prvni 2 zpusoby.

	Ktery zpusob prezentace je pouzit IMHO zalezi ciste na implementaci
loaderu, resp. run-time libc a nikde jsem to IMHO nenasel do tohoto detailu
popsano...

	Z vyse uvedeneho tedy vyplyva, ze se na CWD (Current Working
Direcotry) nemuzete spolehat jinak nez volani napr. v LIBC getcwd apod.,
protoze to mimo jine zalezi jak ten program sam (obsluha) volate... A IMHO
je docela cunarna spolehat se, ze umisteni PROG1 a PROG2 musi byt ve stejne
lokaci - na to je bud konfigurak, nebo promenna PATH, ve ktere by ale muselo
byt explicitne uvedeno i ":.:" (dvojtecka, tecka, dvojtecka) aby se bralo v
potaz CWD.

-------------------------------------------------------------------
Ing. Pavel Janousek (PaJaSoft)             FoNet, spol. s r. o.
Technicka podpora, Intranet/Internet     Sokolova 67, 619 00 Brno
E-mail: mailto:Janousek na FoNet.Cz         Tel.: +420  5  4324 4749
WWW:    http://WWW.FoNet.Cz/           E-mail: mailto:Info na FoNet.Cz
-------------------------------------------------------------------



Další informace o konferenci Linux