Autor ::JL Poslaná :: 25.12.2013 19:30:04 Predmet ::Re: drobná nepříjemnost v utilitce cim
Ano taky jsem proti hardkódování cesty.
Proto jsem taky uvedl že jsem to "zatím zakódoval natvrdo" a to proto, že nevím jak to udělat lépe.
Když mám na linuxu program v adresáři kam ukazuje proměnná PATH, např. /opt/bin/ a spustím jej z jiného adresáře, např /home/ladmanj, tak v argv[0] je bohužel jen cim.
Program potom hledá /home/ladmanj/cim.ini a ten neexistuje.
Nechci se hádat co je správně, tady se to jeví jako pitomost na straně unixu, ale třeba je k tomu jiný rozumný důvod.
Každopádně C vzniklo na unixu, tak v rámci přenositelnosti je spíš chyba, že to nerespektují překladače pro win.
Unixově košer by možná bylo, hledat konfigurák relativně v ../etc/ nebo ../share/, ale opět relativně k umístění programu, a ne pwd odkud se spouští. Nebo v ~/.cim/ což je obvyklý způsob ukládání uživatelských konfigurací.
Každopádně je to asi jeno
Když si udělám bash skript, kterým budu cim spouštět, už si to tam vyřeším a nemusím modifikovat zdroják.