The GNU C Library

The GNU C Library,第1张

The GNU C Library - Table of Contents

The GNU C Library
  • Introduction
    • Getting Started
    • Standards and Portability
      • ANSI C
      • POSIX (The Portable Operating System Interface)
      • Berkeley Unix
      • SVID (The System V Interface Description)
    • Using the Library
      • Header Files
      • Macro Definitions of Functions
      • Reserved Names
      • Feature Test Macros
    • Roadmap to the Manual
  • Error Reporting
    • Checking for Errors
    • Error Codes
    • Error Messages
  • Memory Allocation
    • Dynamic Memory Allocation Concepts
    • Dynamic Allocation and C
    • Unconstrained Allocation
      • Basic Storage Allocation
      • Examples of malloc
      • Freeing Memory Allocated with malloc
      • Changing the Size of a Block
      • Allocating Cleared Space
      • Efficiency Considerations for malloc
      • Allocating Aligned Memory Blocks
      • Heap Consistency Checking
      • Storage Allocation Hooks
      • Statistics for Storage Allocation with malloc
      • Summary of malloc-Related Functions
    • Obstacks
      • Creating Obstacks
      • Preparing for Using Obstacks
      • Allocation in an Obstack
      • Freeing Objects in an Obstack
      • Obstack Functions and Macros
      • Growing Objects
      • Extra Fast Growing Objects
      • Status of an Obstack
      • Alignment of Data in Obstacks
      • Obstack Chunks
      • Summary of Obstack Functions
    • Automatic Storage with Variable Size
      • alloca Example
      • Advantages of alloca
      • Disadvantages of alloca
      • GNU C Variable-Size Arrays
    • Relocating Allocator
      • Concepts of Relocating Allocation
      • Allocating and Freeing Relocatable Blocks
    • Memory Usage Warnings
  • Character Handling
    • Classification of Characters
    • Case Conversion
  • String and Array Utilities
    • Representation of Strings
    • String/Array Conventions
    • String Length
    • Copying and Concatenation
    • String/Array Comparison
    • Collation Functions
    • Search Functions
    • Finding Tokens in a String
  • Extended Characters
    • Introduction to Extended Characters
    • Locales and Extended Characters
    • Multibyte Characters
    • Wide Character Introduction
    • Conversion of Extended Strings
    • Multibyte Character Length
    • Conversion of Extended Characters One by One
    • Example of Character-by-Character Conversion
    • Multibyte Codes Using Shift Sequences
  • Locales and Internationalization
    • What Effects a Locale Has
    • Choosing a Locale
    • Categories of Activities that Locales Affect
    • How Programs Set the Locale
    • Standard Locales
    • Numeric Formatting
      • Generic Numeric Formatting Parameters
      • Printing the Currency Symbol
      • Printing the Sign of an Amount of Money
  • Searching and Sorting
    • Defining the Comparison Function
    • Array Search Function
    • Array Sort Function
    • Searching and Sorting Example
  • Pattern Matching
    • Wildcard Matching
    • Globbing
      • Calling glob
      • Flags for Globbing
    • Regular Expression Matching
      • POSIX Regular Expression Compilation
      • Flags for POSIX Regular Expressions
      • Matching a Compiled POSIX Regular Expression
      • Subexpressions Match Results
      • Complications in Subexpression Matching
      • POSIX Regexp Matching Cleanup
    • Shell-Style Word Expansion
      • The Stages of Word Expansion
      • Calling wordexp
      • Flags for Word Expansion
      • wordexp Example
  • Input/Output Overview
    • Input/Output Concepts
      • Streams and File Descriptors
      • File Position
    • File Names
      • Directories
      • File Name Resolution
      • File Name Errors
      • Portability of File Names
  • Input/Output on Streams
    • Streams
    • Standard Streams
    • Opening Streams
    • Closing Streams
    • Simple Output by Characters or Lines
    • Character Input
    • Line-Oriented Input
    • Unreading
      • What Unreading Means
      • Using ungetc To Do Unreading
    • Formatted Output
      • Formatted Output Basics
      • Output Conversion Syntax
      • Table of Output Conversions
      • Integer Conversions
      • Floating-Point Conversions
      • Other Output Conversions
      • Formatted Output Functions
      • Dynamically Allocating Formatted Output
      • Variable Arguments Output Functions
      • Parsing a Template String
      • Example of Parsing a Template String
    • Customizing printf
      • Registering New Conversions
      • Conversion Specifier Options
      • Defining the Output Handler
      • printf Extension Example
    • Formatted Input
      • Formatted Input Basics
      • Input Conversion Syntax
      • Table of Input Conversions
      • Numeric Input Conversions
      • String Input Conversions
      • Dynamically Allocating String Conversions
      • Other Input Conversions
      • Formatted Input Functions
      • Variable Arguments Input Functions
    • Block Input/Output
    • End-Of-File and Errors
    • Text and Binary Streams
    • File Positioning
    • Portable File-Position Functions
    • Stream Buffering
      • Buffering Concepts
      • Flushing Buffers
      • Controlling Which Kind of Buffering
    • Temporary Files
    • Other Kinds of Streams
      • String Streams
      • Obstack Streams
      • Programming Your Own Custom Streams
        • Custom Streams and Cookies
        • Custom Stream Hook Functions
  • Low-Level Input/Output
    • Opening and Closing Files
    • Input and Output Primitives
    • Setting the File Position of a Descriptor
    • Descriptors and Streams
    • Precautions for Mixing Streams and Descriptors
      • Linked Channels
      • Independent Channels
      • Cleaning Streams
    • Waiting for Input or Output
    • Control Operations on Files
    • Duplicating Descriptors
    • File Descriptor Flags
    • File Status Flags
    • File Locks
    • Interrupt-Driven Input
  • File System Interface
    • Working Directory
    • Accessing Directories
      • Format of a Directory Entry
      • Opening a Directory Stream
      • Reading and Closing a Directory Stream
      • Simple Program to List a Directory
      • Random Access in a Directory Stream
    • Hard Links
    • Symbolic Links
    • Deleting Files
    • Renaming Files
    • Creating Directories
    • File Attributes
      • What the File Attribute Values Mean
      • Reading the Attributes of a File
      • Testing the Type of a File
      • File Owner
      • The Mode Bits for Access Permission
      • How Your Access to a File is Decided
      • Assigning File Permissions
      • Testing Permission to Access a File
      • File Times
    • Making Special Files
  • Pipes and FIFOs
    • Creating a Pipe
    • Pipe to a Subprocess
    • FIFO Special Files
    • Atomicity of Pipe I/O
  • Sockets
    • Socket Concepts
    • Communication Styles
    • Socket Addresses
      • Address Formats
      • Setting a Socket's Address
      • Reading a Socket's Address
    • The File Namespace
      • File Namespace Concepts
      • Details of File Namespace
      • Example of File-Namespace Sockets
    • The Internet Namespace
      • Internet Socket Address Format
      • Host Addresses
        • Internet Host Addresses
        • Host Address Data Type
        • Host Address Functions
        • Host Names
      • Internet Ports
      • The Services Database
      • Byte Order Conversion
      • Protocols Database
      • Internet Socket Example
    • Other Namespaces
    • Opening and Closing Sockets
      • Creating a Socket
      • Closing a Socket
      • Socket Pairs
    • Using Sockets with Connections
      • Making a Connection
      • Listening for Connections
      • Accepting Connections
      • Who is Connected to Me?
      • Transferring Data
        • Sending Data
        • Receiving Data
        • Socket Data Options
      • Byte Stream Socket Example
      • Byte Stream Connection Server Example
      • Out-of-Band Data
    • Datagram Socket Operations
      • Sending Datagrams
      • Receiving Datagrams
      • Datagram Socket Example
      • Example of Reading Datagrams
    • The inetd Daemon
      • inetd Servers
      • Configuring inetd
    • Socket Options
      • Socket Option Functions
      • Socket-Level Options
    • Networks Database
  • Low-Level Terminal Interface
    • Identifying Terminals
    • I/O Queues
    • Two Styles of Input: Canonical or Not
    • Terminal Modes
      • Terminal Mode Data Types
      • Terminal Mode Functions
      • Setting Terminal Modes Properly
      • Input Modes
      • Output Modes
      • Control Modes
      • Local Modes
      • Line Speed
      • Special Characters
        • Characters for Input Editing
        • BSD Extensions to Editing Characters
        • Characters that Cause Signals
        • Special Characters for Flow Control
        • Other Special Characters
      • Noncanonical Input
    • Line Control Functions
    • Noncanonical Mode Example
  • Mathematics
    • Domain and Range Errors
    • Trigonometric Functions
    • Inverse Trigonometric Functions
    • Exponentiation and Logarithms
    • Hyperbolic Functions
    • Pseudo-Random Numbers
      • ANSI C Random Number Functions
      • BSD Random Number Functions
  • Low-Level Arithmetic Functions
    • "Not a Number" Values
    • Predicates on Floats
    • Absolute Value
    • Normalization Functions
    • Rounding and Remainder Functions
    • Integer Division
    • Parsing of Numbers
      • Parsing of Integers
      • Parsing of Floats
  • Date and Time
    • Processor Time
      • Basic CPU Time Inquiry
      • Detailed Elapsed CPU Time Inquiry
    • Calendar Time
      • Simple Calendar Time
      • High-Resolution Calendar
      • Broken-down Time
      • Formatting Date and Time
      • Specifying the Time Zone with TZ
      • Functions and Variables for Time Zones
      • Time Functions Example
    • Setting an Alarm
    • Sleeping
    • Resource Usage
    • Limiting Resource Usage
    • Process Priority
  • Non-Local Exits
    • Introduction to Non-Local Exits
    • Details of Non-Local Exits
    • Non-Local Exits and Signals
  • Signal Handling
    • Basic Concepts of Signals
      • Some Kinds of Signals
      • Concepts of Signal Generation
      • How Signals Are Delivered
    • Standard Signals
      • Program Error Signals
      • Termination Signals
      • Alarm Signals
      • Asynchronous I/O Signals
      • Job Control Signals
      • Miscellaneous Signals
      • Nonstandard Signals
      • Signal Messages
    • Specifying Signal Actions
      • Basic Signal Handling
      • Advanced Signal Handling
      • Interaction of signal and sigaction
      • sigaction Function Example
      • Flags for sigaction
      • Initial Signal Actions
    • Defining Signal Handlers
      • Signal Handlers That Return
      • Handlers That Terminate the Process
      • Nonlocal Control Transfer in Handlers
      • Signals Arriving While a Handler Runs
      • Signals Close Together Merge into One
      • Signal Handling and Nonreentrant Functions
      • Atomic Data Access and Signal Handling
        • Example of Problems with Non-Atomic Access
        • Atomic Types
        • Atomic Usage Patterns
    • Primitives Interrupted by Signals
    • Generating Signals
      • Signaling Yourself
      • Signaling Another Process
      • Permission for using kill
      • Using kill for Communication
    • Blocking Signals
      • Why Blocking Signals is Useful
      • Signal Sets
      • Process Signal Mask
      • Blocking to Test for Delivery of a Signal
      • Blocking Signals for a Handler
      • Checking for Pending Signals
      • Remembering a Signal to Act On Later
    • Waiting for a Signal
      • Using pause
      • Problems with pause
      • Using sigsuspend
    • BSD Signal Handling
      • POSIX and BSD Signal Facilities
    • BSD Function to Establish a Handler
      • BSD Functions for Blocking Signals
      • Using a Separate Signal Stack
  • Process Startup and Termination
    • Program Arguments
      • Program Argument Syntax Conventions
      • Parsing Program Options
      • Example of Parsing Arguments with getopt
      • Parsing Long Options
      • Example of Parsing Long Options
    • Environment Variables
      • Environment Access
      • Standard Environment Variables
    • Program Termination
      • Normal Termination
      • Exit Status
      • Cleanups on Exit
      • Aborting a Program
      • Termination Internals
  • Child Processes
    • Running a Command
    • Process Creation Concepts
    • Process Identification
    • Creating a Process
    • Executing a File
    • Process Completion
    • Process Completion Status
    • BSD Process Wait Functions
    • Process Creation Example
  • Job Control
    • Concepts of Job Control
    • Job Control is Optional
    • Controlling Terminal of a Process
    • Access to the Controlling Terminal
    • Orphaned Process Groups
    • Implementing a Job Control Shell
      • Data Structures for the Shell
      • Initializing the Shell
      • Launching Jobs
      • Foreground and Background
      • Stopped and Terminated Jobs
      • Continuing Stopped Jobs
      • The Missing Pieces
    • Functions for Job Control
      • Identifying the Controlling Terminal
      • Process Group Functions
      • Functions for Controlling Terminal Access
  • Users and Groups
    • User and Group IDs
    • The Persona of a Process
    • Why Change the Persona of a Process?
    • How an Application Can Change Persona
    • Reading the Persona of a Process
    • Setting the User ID
    • Setting the Group IDs
    • Enabling and Disabling Setuid Access
    • Setuid Program Example
    • Tips for Writing Setuid Programs
    • Identifying Who Logged In
    • User Database
      • The Data Structure that Describes a User
      • Looking Up One User
      • Scanning the List of All Users
      • Writing a User Entry
    • Group Database
      • The Data Structure for a Group
      • Looking Up One Group
      • Scanning the List of All Groups
    • User and Group Database Example
  • System Information
    • Host Identification
    • Hardware/Software Type Identification
  • System Configuration Parameters
    • General Capacity Limits
    • Overall System Options
    • Which Version of POSIX is Supported
    • Using sysconf
      • Definition of sysconf
      • Constants for sysconf Parameters
      • Examples of sysconf
    • Minimum Values for General Capacity Limits
    • Limits on File System Capacity
    • Optional Features in File Support
    • Minimum Values for File System Limits
    • Using pathconf
    • Utility Program Capacity Limits
    • Minimum Values for Utility Limits
    • String-Valued Parameters
  • C Language Facilities Implemented By the Library
    • Explicitly Checking Internal Consistency
    • Variadic Functions
      • Why Variadic Functions are Used
      • How Variadic Functions are Defined and Used
        • Syntax for Variable Arguments
        • Receiving the Argument Values
        • How Many Arguments Were Supplied
        • Calling Variadic Functions
        • Argument Access Macros
      • Example of a Variadic Function
        • Old-Style Variadic Functions
    • Null Pointer Constant
    • Important Data Types
    • Data Type Measurements
      • Computing the Width of an Integer Data Type
      • Range of an Integer Type
      • Floating Type Macros
        • Floating Point Representation Concepts
        • Floating Point Parameters
        • IEEE Floating Point
      • Structure Field Offset Measurement
  • Summary of Library Facilities
  • Library Maintenance
    • How to Install the GNU C Library
    • Reporting Bugs
    • Adding New Functions
    • Porting the GNU C Library
      • The Layout of the `sysdeps' Directory Hierarchy
      • Porting the GNU C Library to Unix Systems
    • Contributors to the GNU C Library
  • GNU LIBRARY GENERAL PUBLIC LICENSE
    • Preamble
    • TERMS AND CONDITIONS FOR COPYING, DISTRIBUTION AND MODIFICATION
    • How to Apply These Terms to Your New Libraries
  • Concept Index
  • Type Index
  • Function and Macro Index
  • Variable and Constant Macro Index
  • Program and File Index

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/2084613.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-07-22
下一篇 2022-07-22

发表评论

登录后才能评论

评论列表(0条)

保存