GNU C库技术手册(英文版)

GNU C库技术手册(英文版)
作 者: Richard Stallman
出版社: 机械工业出版社
丛编项: GNU技术文档精粹
版权说明: 本书为公共版权或经版权方授权,请支持正版图书
标 签: C
ISBN 出版时间 包装 开本 页数 字数
未知 暂无 暂无 未知 0 暂无

作者简介

暂缺《GNU C库技术手册(英文版)》作者简介

内容简介

C语言本身并没有提供内置的功能来完成诸如输入/输出,内存管理,字符串操作等任务,这些功能定义在标准的库中,开发人员在编译和链接程序是必须要使用库。本手册描述的是GNU C Library,它定义了所有的库函数,而且符合ANSI C标准,POSIX的附加特性和其他UNIX版本变种的特点。GUN C Library 支持ANSI C-1989,POSIX 1003.1-1990和POSIX 1003.2-1992的大多数函数,与4.4BSD向上兼容,包括许多System V的函数,加上GNU的扩充。GUN C Library是目前使用得非常广泛的库之一。这本手册介绍怎样使用GNU库的功能,包括UNIX上的“库函数”和“系统调用”。

图书目录

1. Introduction

1.1 Getting Started

1.2 Standards and Portability

1.3 Using the Library

1.4 Roadmap to the Manual

2 Error Reporting

2.1 Checking For Error

2.2 Error Codes

2.3 Error Messages

3 Memory Allocation

3.1 Dynamic Memory Allocation Concepts

3.2 Dynamic Allocation and C

3.3 Unconstrained Allocation

3.4 Allocation Debugging

3.5 Obstacks

3.6 Automatic Storage with Varible Size

4 Character Handling

4.1 Classification of Characters

4.2 Case Conversion

4.3 Character Class determination for wide characters

4.4 notes on using wide characters

5 string and array utilities

5.1 representation of strings

5.2 string and array conventions

5.3 string length

5.4 copying and concatenation

5.5 string /array comparison

5.6 collation functions

5.7 search functions

5.8 encode binary data

5.9 finding tokens in a string

5.10 argz and enzy vectors

6 character set handling

6.1 introduction to extended characters

6.2 overview about character handling funcations

6.3 restartable multibyte conversion functions

6.4 non-reentrantconversion function

6.5 generic charset conversion

7 locales and internationalization

7.1 what effects a locale has

7.2 choosing a locale

7.3 categories of activites that locales affect

7.4 how programs set the locale

7.5 standard locales

7.6 accessing locale information

7.7 a dedicated function to format numbers

8 message translation

8.1 x/open message catalog handling

8.2 the uniforum approach to message translation

9 searching and sorting

9.1 definig the comparison function

9.2 array search function

9.3 array sort function

9.4 searching and sorting example

9.5 the hsearch function

9.6 the tsearch function

10 pattern matching

10.1 wildcard matching

10.2 globbing

10.3 regular expression matching

10.4 shell-style word expansion

11 input/output overview

11.1 input/output concepts

11.2 file names

12 input/output on streams

12.1 streams

12.2 standard streams

12.3 opening streams

12.4 closing streams

12.5 simple output by characters or lines

12.6 character input

12.7 line-oriented input

12.8 unleading

12.9 block input/output

12.10 formatted output

12.11 customizing printf

12.12 formatted input

12.13 end-of-file and errors

12.14 text and binary streams

12.15 file positioning

12.16 portable file-position functions

12.17 stream buffering

12.18 other kinds of streams

12.19 formatted messages

13 low-level input/output

13.1 opening and closing files

13.2 input and output primitives

13.3 setting the file position of a descript

13.4 descriptors and streams

13.5 dangers of mixing streams and descriptors

13.6 fast scatter-gather I/O

13.7 Momory-mapped I/O

13.8 Waiting for Input or Output

13.9 synchronizing I/O operations

13.10 perform I/O operations in parallel

13.11 control operations on files

13.12 file Descriptor flags

13.13 duplication descriptors

13.14 file status flags

13.15 file locks

13.16 interrupt-driven input

13.17 generic I/O control operators

14 file system interface

14.1 working directory

14.2 accessing directories

14.3 working with directory trees

14.4 hard links

14.5 symbolic links

14.6 deleting files

14.7 renaming files

14.8 creating directories

14.9 files attributes

14.10 making special files

14.11 temporary files

15 pipes and fifos

15.1 creating a pipe

15.2 pipe to a subprocess

15.3 fifo special files

15.4 automicity of pipe I/O

16 sockets

16.1 socket concepts

16.2 communication styles

16.3 socket addresses

16.4 interface naming

16.5 the local namespace

16.6 the internet namespace

16.7 other namespaces

16.8 opening and closing sockets

16.9 using sockets with connections

16.10 datagram socket operations

16.11 the inetd daemon

16.12 socket options

16.13 networks database

17 low-level terminal interface

17.1 identifying terminals

17.2 I/O queues

17.3 two styles of input:canonical or not

17.4 terminal modes

17.5 line control functions

17.6 noncanonical mode example

17.7 pseudo-tdrminals

18 mathematics

18.1 predefined mathematical constants

18.2 trigonometric functions

18.3 inverse trigonometric functions

18.4 exponentiation and logarithms

18.5 hyperbolic functions

18.6 special functions

18.7 pseudo-random numbers

18.8 is fast code or small code preferred

19 arithmetic functions

19.1 floating point numbers

19.2 floating-point number classification functions

19.3 errors in floating-point calculations

19.4 rounding modes

19.5 floating-point control functions

19.6 arithmetic functions

19.7 complex unmbers

19.8 projections,conjugates,and decompoing of complex numbers

19.9 integer division

19.10 parsion of numbers

19.11 old-fashioned system v number-to-string functions

20 date and time

20.1 processor time

20.2 calendar time

20.3 precision time

20.4 setting an alarm

20.5 sleeping

20.6 resource usage

20.7 limiting resource usage

20.8 process priority

21 Non-Local Exits

21.1 Introduction to Non-Local Exits

21.2 Datails of Non-Local Exits

21.3 Non-Local Exits and Signals

22 Signal Handling

22.1 Basic Concepts of Signals

22.2 Standard Signals

22.3 Special Signal Actions

22.4 Defining Signal Handlers

22.5 Primitives Interrupted by Signals

22.6 Generating Signals

22.7 Blocking Signals

22.8 Waiting for a Signal

22.9 Using a Separate Signal Stack

22.10 BSD Signal Handling

23 Process Startup and Termination

23.1 Program Arguments

23.2 Parsing program options using getopt

23.3 Parsing Program Options with Argp

23.4 Environment Varisbles

23.5 Program Termination

24 processes

24.1 running a command

24.2 process creation concepts

24.3 process identification

24.4 creating a process

24.5 executing a file

24.6 process completion

24.7 process completion

24.8 bsd process wait functions

24.9 process creation example

25 job control

25.1 concepts of job control

25.2 job control is optional

25.3 controlling termianl of a process

25.4 orphaned process groups

25.5 access to the controlling terminal

25.6 implementing a job control shell

25.7 funcitons for job control

26 system databases and name service switch

26.1 nss basics

26.2 the nss configuration file

26.3 nss nodule internals

26.4 extending nss

27 users and groups

27.1 user and group ids

27.2 the persona of a process

27.3 why change the persona of a process

27.4 how an application can change persona

27.5 reading the persona of a process

27.6 setting the user id

27.7 setting the group ids

27.8 enabling and disabling setuid access

27.9 setuid program example

27.10 tips for writing setuid programs

27.11 identifying who logged in

27.12 the user accounting database

27.13 user database

27.14 group database

27.15 user and group database example

27.16 netgroup database

28 system information

28.1 host indentification

28.2 hardware/software type identification

28.3 which filesystems are mounted and /or available

29 system configuration paremeters

29.1 general capactiy limits

29.2 overall system options

29.3 which version of posix is supported

29.4 using sysconf

29.5 minimum values for general capacity limits

29.6 limits on file system capacity

29.7 optional features in file support

29.8 minimum values for file system limits

29.9 using pathconf

29.10 utility program capacity limits

29.11 minimum values for utility limits

29.12 string-valued parameters

30 des encryption and password handling

30.1 legal problems

30.2 reading passwords

30.3 encrypting passwords

30.4 des encryption

31 posix threads

31.1 basic thread operations

31.2 thread attributes

31.3 cancellation

31.4 cleanup handlers

31.5 mutexes

31.6 condition variables

31.7 posix semaphores

31.8 thread-specific data

31.9 threads and signal handling

31.10 miscellaneous thread funcitons

Appendix A C Language Facilities In the Library

Appendix B Summary of Library facilities

Appendix C Installing the GNU C Library

Appendix D Library Maintenance

Appendix E Contributors ot the GNU C Library

Appendix F GNU LIBRARY GENERAL PUBLICE LICENSE