⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 conf.texi

📁 一个C源代码分析器
💻 TEXI
📖 第 1 页 / 共 3 页
字号:
@comment POSIX.1@item _SC_CLK_TCKInquire about the parameter corresponding to @code{CLOCKS_PER_SEC};@pxref{Basic CPU Time}.@comment unistd.h@comment POSIX.2@item _SC_2_C_DEVInquire about whether the system has the POSIX.2 C compiler command,@code{c89}.@comment unistd.h@comment POSIX.2@item _SC_2_FORT_DEVInquire about whether the system has the POSIX.2 Fortran compilercommand, @code{fort77}.@comment unistd.h@comment POSIX.2@item _SC_2_FORT_RUNInquire about whether the system has the POSIX.2 @code{asa} command tointerpret Fortran carriage control.@comment unistd.h@comment POSIX.2@item _SC_2_LOCALEDEFInquire about whether the system has the POSIX.2 @code{localedef}command.@comment unistd.h@comment POSIX.2@item _SC_2_SW_DEVInquire about whether the system has the POSIX.2 commands @code{ar},@code{make}, and @code{strip}.@comment unistd.h@comment POSIX.2@item _SC_BC_BASE_MAXInquire about the maximum value of @code{obase} in the @code{bc}utility.@comment unistd.h@comment POSIX.2@item _SC_BC_DIM_MAXInquire about the maximum size of an array in the @code{bc}utility.@comment unistd.h@comment POSIX.2@item _SC_BC_SCALE_MAXInquire about the maximum value of @code{scale} in the @code{bc}utility.@comment unistd.h@comment POSIX.2@item _SC_BC_STRING_MAXInquire about the maximum size of a string constant in the@code{bc} utility.@comment unistd.h@comment POSIX.2@item _SC_COLL_WEIGHTS_MAXInquire about the maximum number of weights that can necessarilybe used in defining the collating sequence for a locale.@comment unistd.h@comment POSIX.2@item _SC_EXPR_NEST_MAXInquire about the maximum number of expressions nested withinparentheses when using the @code{expr} utility.@comment unistd.h@comment POSIX.2@item _SC_LINE_MAXInquire about the maximum size of a text line that the POSIX.2 textutilities can handle.@comment unistd.h@comment POSIX.2@item _SC_EQUIV_CLASS_MAXInquire about the maximum number of weights that can be assigned to anentry of the @code{LC_COLLATE} category @samp{order} keyword in a localedefinition.  The GNU C library does not presently support localedefinitions.@comment unistd.h@comment POSIX.2@item _SC_VERSIONInquire about the version number of POSIX.1 that the library and kernelsupport.@comment unistd.h@comment POSIX.2@item _SC_2_VERSIONInquire about the version number of POSIX.2 that the system utilitiessupport.@comment unistd.h@comment GNU@item _SC_PAGESIZEInquire about the virtual memory page size of the machine.@code{getpagesize} returns the same value.@c @xref{XXX getpagesize}. !!! ???@end table@node Examples of Sysconf @subsection Examples of @code{sysconf}We recommend that you first test for a macro definition for theparameter you are interested in, and call @code{sysconf} only if themacro is not defined.  For example, here is how to test whether jobcontrol is supported:@smallexample@groupinthave_job_control (void)@{#ifdef _POSIX_JOB_CONTROL  return 1;#else  int value = sysconf (_SC_JOB_CONTROL);  if (value < 0)    /* @r{If the system is that badly wedged,}       @r{there's no use trying to go on.}  */    fatal (strerror (errno));  return value;#endif@}@end group@end smallexampleHere is how to get the value of a numeric limit:@smallexampleintget_child_max ()@{#ifdef CHILD_MAX  return CHILD_MAX;#else  int value = sysconf (_SC_CHILD_MAX);  if (value < 0)    fatal (strerror (errno));  return value;#endif@}@end smallexample@node Minimums@section Minimum Values for General Capacity LimitsHere are the names for the POSIX minimum upper bounds for the systemlimit parameters.  The significance of these values is that you cansafely push to these limits without checking whether the particularsystem you are using can go that far.@table @code@comment limits.h@comment POSIX.1@item _POSIX_ARG_MAXThe value of this macro is the most restrictive limit permitted by POSIXfor the maximum combined length of the @var{argv} and @var{environ}arguments that can be passed to the @code{exec} functions.Its value is @code{4096}.@comment limits.h@comment POSIX.1@item _POSIX_CHILD_MAXThe value of this macro is the most restrictive limit permitted by POSIXfor the maximum number of simultaneous processes per real user ID.  Itsvalue is @code{6}.@comment limits.h@comment POSIX.1@item _POSIX_NGROUPS_MAXThe value of this macro is the most restrictive limit permitted by POSIXfor the maximum number of supplementary group IDs per process.  Itsvalue is @code{0}.@comment limits.h@comment POSIX.1@item _POSIX_OPEN_MAXThe value of this macro is the most restrictive limit permitted by POSIXfor the maximum number of files that a single process can have opensimultaneously.  Its value is @code{16}.@comment limits.h@comment POSIX.1@item _POSIX_SSIZE_MAXThe value of this macro is the most restrictive limit permitted by POSIXfor the maximum value that can be stored in an object of type@code{ssize_t}.  Its value is @code{32767}.@comment limits.h@comment POSIX.1@item _POSIX_STREAM_MAXThe value of this macro is the most restrictive limit permitted by POSIXfor the maximum number of streams that a single process can have opensimultaneously.  Its value is @code{8}.@comment limits.h@comment POSIX.1@item _POSIX_TZNAME_MAXThe value of this macro is the most restrictive limit permitted by POSIXfor the maximum length of a time zone name.  Its value is @code{3}.@comment limits.h@comment POSIX.2@item _POSIX2_RE_DUP_MAXThe value of this macro is the most restrictive limit permitted by POSIXfor the numbers used in the @samp{\@{@var{min},@var{max}\@}} constructin a regular expression.  Its value is @code{255}.@end table@node Limits for Files@section Limits on File System CapacityThe POSIX.1 standard specifies a number of parameters that describe thelimitations of the file system.  It's possible for the system to have afixed, uniform limit for a parameter, but this isn't the usual case.  Onmost systems, it's possible for different file systems (and, for someparameters, even different files) to have different maximum limits.  Forexample, this is very likely if you use NFS to mount some of the filesystems from other machines.@pindex limits.hEach of the following macros is defined in @file{limits.h} only if thesystem has a fixed, uniform limit for the parameter in question.  If thesystem allows different file systems or files to have different limits,then the macro is undefined; use @code{pathconf} or @code{fpathconf} tofind out the limit that applies to a particular file.  @xref{Pathconf}.Each parameter also has another macro, with a name starting with@samp{_POSIX}, which gives the lowest value that the limit is allowed tohave on @emph{any} POSIX system.  @xref{File Minimums}.@cindex limits, link count of files@comment limits.h@comment POSIX.1@deftypevr Macro int LINK_MAXThe uniform system limit (if any) for the number of names for a givenfile.  @xref{Hard Links}.@end deftypevr@cindex limits, terminal input queue@comment limits.h@comment POSIX.1@deftypevr Macro int MAX_CANONThe uniform system limit (if any) for the amount of text in a line ofinput when input editing is enabled.  @xref{Canonical or Not}.@end deftypevr@comment limits.h@comment POSIX.1@deftypevr Macro int MAX_INPUTThe uniform system limit (if any) for the total number of characterstyped ahead as input.  @xref{I/O Queues}.@end deftypevr@cindex limits, file name length@comment limits.h@comment POSIX.1@deftypevr Macro int NAME_MAXThe uniform system limit (if any) for the length of a file name component.@end deftypevr@comment limits.h@comment POSIX.1@deftypevr Macro int PATH_MAXThe uniform system limit (if any) for the length of an entire file name (thatis, the argument given to system calls such as @code{open}).@end deftypevr@cindex limits, pipe buffer size@comment limits.h@comment POSIX.1@deftypevr Macro int PIPE_BUFThe uniform system limit (if any) for the number of bytes that can bewritten atomically to a pipe.  If multiple processes are writing to thesame pipe simultaneously, output from different processes might beinterleaved in chunks of this size.  @xref{Pipes and FIFOs}.@end deftypevrThese are alternative macro names for some of the same information.@comment dirent.h@comment BSD@deftypevr Macro int MAXNAMLENThis is the BSD name for @code{NAME_MAX}.  It is defined in@file{dirent.h}.@end deftypevr@comment stdio.h@comment ANSI@deftypevr Macro int FILENAME_MAX The value of this macro is an integer constant expression thatrepresents the maximum length of a file name string.  It is defined in@file{stdio.h}.Unlike @code{PATH_MAX}, this macro is defined even if there is no actuallimit imposed.  In such a case, its value is typically a very largenumber.  @strong{This is always the case on the GNU system.}@strong{Usage Note:} Don't use @code{FILENAME_MAX} as the size of anarray in which to store a file name!  You can't possibly make an arraythat big!  Use dynamic allocation (@pxref{Memory Allocation}) instead.@end deftypevr@node Options for Files@section Optional Features in File SupportPOSIX defines certain system-specific options in the system calls foroperating on files.  Some systems support these options and others donot.  Since these options are provided in the kernel, not in thelibrary, simply using the GNU C library does not guarantee any of thesefeatures is supported; it depends on the system you are using.  They canalso vary between file systems on a single machine.@pindex unistd.hThis section describes the macros you can test to determine whether aparticular option is supported on your machine.  If a given macro isdefined in @file{unistd.h}, then its value says whether thecorresponding feature is supported.  (A value of @code{-1} indicates no;any other value indicates yes.)  If the macro is undefined, it meansparticular files may or may not support the feature.Since all the machines that support the GNU C library also support NFS,one can never make a general statement about whether all file systemssupport the @code{_POSIX_CHOWN_RESTRICTED} and @code{_POSIX_NO_TRUNC}features.  So these names are never defined as macros in the GNU Clibrary.@comment unistd.h@comment POSIX.1@deftypevr Macro int _POSIX_CHOWN_RESTRICTEDIf this option is in effect, the @code{chown} function is restricted sothat the only changes permitted to nonprivileged processes is to change the group owner of a file to either be the effective group ID of theprocess, or one of its supplementary group IDs.  @xref{File Owner}.@end deftypevr@comment unistd.h@comment POSIX.1@deftypevr Macro int _POSIX_NO_TRUNCIf this option is in effect, file name components longer than@code{NAME_MAX} generate an @code{ENAMETOOLONG} error.  Otherwise, filename components that are too long are silently truncated.@end deftypevr@comment unistd.h@comment POSIX.1@deftypevr Macro {unsigned char} _POSIX_VDISABLEThis option is only meaningful for files that are terminal devices.If it is enabled, then handling for special control characters canbe disabled individually.  @xref{Special Characters}.@end deftypevr@pindex unistd.hIf one of these macros is undefined, that means that the option might bein effect for some files and not for others.  To inquire about aparticular file, call @code{pathconf} or @code{fpathconf}.@xref{Pathconf}.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -