sysconf(3) | Library Functions Manual | sysconf(3) |
sysconf - získej konfigurační informace za běhu
Standardní knihovna C (libc, -lc)
#include <unistd.h>
long sysconf(int name);
POSIX dovoluje aplikaci v čase překladu, nebo běhu aplikace, testovat, zda jsou určité volby podporovány, nebo jaké jsou hodnoty těchto konfigurovatelných systémových parametrů.
V čase překladu se toto děje pomocí vložení <unistd.h> a/nebo <limits.h> a testování hodnot příslušných maker.
V čase běhu, se můžeme dotazovat na numerické hodnoty použitím funkce sysconf(). Pokud se budeme dotazovat na hodnoty, které jsou závislé na souborovém systému, je vhodné použít volání fpathconf(3) nebo pathconf(3). Pro dotazování se na hodnoty řetězců je vhodné použít confstr(3).
Hodnoty získané z těchto funkcí jsou systémové konstanty. Nemění se po dobu života procesu.
For options, typically, there is a constant _POSIX_FOO that may be defined in <unistd.h>. If it is undefined, one should ask at run time. If it is defined to -1, then the option is not supported. If it is defined to 0, then relevant functions and headers exist, but one has to ask at run time what degree of support is available. If it is defined to a value other than -1 or 0, then the option is supported. Usually the value (such as 200112L) indicates the year and month of the POSIX revision describing the option. glibc uses the value 1 to indicate support as long as the POSIX revision has not been published yet. The sysconf() argument will be _SC_FOO. For a list of options, see posixoptions(7).
Pro proměnné, nebo limity obvykle existuje konstanta _FOO, která je definována v <limits.h>, nebo _POSIX_FOO, kterou lze nalézt v <unistd.h>. Konstanta nebude definována, pokud není specifikován limit. Pokud je konstanta definována, definuje zaručenou hodnotu a dokonce může být podporována i vyšší hodnota. Pokud chce aplikace využívat hodnot, které se mohou měnit mezi jednotlivými systémy, může být volán sysconf(). Argumentem sysconf() bude _SC_FOO.
Uvádíme jméno proměnné, jméno parametru funkce sysconf(), který je používán pro dotazování se na tuto hodnotu, a krátký popis.
Nejdříve proměnné kompatibilní s POSIX.1.
Next, the POSIX.2 values, giving limits for utilities.
Následující hodnoty také existují, ale nejsou standard.
The return value of sysconf() is one of the following:
Vysvětlení pojmů použitých v této části viz attributes(7).
Rozhraní | Atribut | Hodnota |
sysconf() | Thread safety | MT-Safe env |
POSIX.1-2001, POSIX.1-2008.
Je velmi těžké používat ARG_MAX protože není specifikováno, jaké množství paměti je při volání exec(3) spotřebováno uživatelskými proměnnými v prostředí.
Některé hodnoty mohou být příliš velké; nejsou vhodné k alokování paměti.
bc(1), expr(1), getconf(1), locale(1), confstr(3), fpathconf(3), pathconf(3), posixoptions(7)
Překlad této příručky do španělštiny vytvořili Pavel Heimlich <tropikhajma@gmail.com>
Tento překlad je bezplatná dokumentace; Přečtěte si GNU General Public License Version 3 nebo novější ohledně podmínek autorských práv. Neexistuje ŽÁDNÁ ODPOVĚDNOST.
Pokud narazíte na nějaké chyby v překladu této příručky, pošlete e-mail na adresu translation-team-cs@lists.sourceforge.net.
5. února 2023 | Linux man-pages 6.03 |