|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有账号?注册
x
Who Should Read This Book?
This book is intended for three types of readers:
n You might be a developer already experienced with programming for the
GNU/Linux system, and you want to learn about some of its advanced features
and capabilities.You might be interested in writing more sophisticated programs
with features such as multiprocessing, multithreading, interprocess communication,
and interaction with hardware devices.You might want to improve your
programs by making them run faster, more reliably, and more securely, or by
designing them to interact better with the rest of the GNU/Linux system.
n You might be a developer experienced with another UNIX-like system who’s
interested in developing GNU/Linux software, too.You might already be familiar
with standard APIs such as those in the POSIX specification.To develop
GNU/Linux software, you need to know the peculiarities of the system, its
limitations, additional capabilities, and conventions.
n You might be a developer making the transition from a non-UNIX environment,
such as Microsoft’s Win32 platform.You might already be familiar with
the general principles of writing good software, but you need to know the specific
techniques that GNU/Linux programs use to interact with the system and
with each other. And you want to make sure your programs fit naturally into the
GNU/Linux system and behave as users expect them to.
This book is not intended to be a comprehensive guide or reference to all aspects of
GNU/Linux programming. Instead, we’ll take a tutorial approach, introducing the
most important concepts and techniques, and giving examples of how to use them.
Section 1.5,“Finding More Information,” in Chapter 1, “Getting Started,” contains
references to additional documentation, where you can obtain complete details about
these and other aspects of GNU/Linux programming.
Because this is a book about advanced topics, we’ll assume that you are already
familiar with the C programming language and that you know how to use the standard
C library functions in your programs.The C language is the most widely used
language for developing GNU/Linux software; most of the commands and libraries
that we discuss in this book, and most of the Linux kernel itself, are written in C.
The information in this book is equally applicable to C++ programs because that
language is roughly a superset of C. Even if you program in another language, you’ll
find this information useful because C language APIs and conventions are the lingua
franca of GNU/Linux.
If you’ve programmed on another UNIX-like system platform before, chances are
good that you already know your way around Linux’s low-level I/O functions (open,
read, stat, and so on).These are different from the standard C library’s I/O functions
(fopen, fprintf, fscanf, and so on). Both are useful in GNU/Linux programming, and
we use both sets of I/O functions throughout this book. If you’re not familiar with
the low-level I/O functions, jump to the end of the book and read Appendix B,
“Low-Level I/O,” before you start Chapter 2,“Writing Good GNU/Linux Software.”
This book does not provide a general introduction to GNU/Linux systems.
We assume that you already have a basic knowledge of how to interact with a
GNU/Linux system and perform basic operations in graphical and command-line
environments. If you’re new to GNU/Linux, start with one of the many excellent
introductory books |
|