官术网_书友最值得收藏!

Learning the C, C++17, and POSIX Standards

As stated in Chapter 1, Getting Started with System Programming, system programming is the act of making system calls to perform various actions in coordination with the underlying operating system. Each operating system has its own set of system calls, and how these system calls are made is different.

To prevent the system programmer from having to rewrite their program for each different operating system, several standards have been put into place that wrap the operating system's ABI with a well-defined API. 

In this chapter, we will discuss three standards—the C standard, the C++ standard, and the POSIX standard. The C and POSIX standards provide the fundamental language syntax and APIs that wrap an operating system's ABI. Specifically, the C standard defines program linking and execution, the standard C syntax (which a number of higher-level languages, such as C++, are based on), and the C libraries that provide the ABI-to-API wrappers.

The C libraries can be thought of as a subset of the greater POSIX standard, which defines a much larger subset of APIs, including, but not limited to, filesystem, network, and threading libraries.

Finally, the C++ standard defines the C++ syntax, program linking and execution, and the C++ libraries that provide higher-level abstractions of the C and POSIX standards. The majority of this book will revolve around these standard APIs and how to use them with C++17. 

This chapter has the following objectives:

  • Learning about the C, C++, and POSIX standards 
  • Understanding program linking and execution, and the differences between C and C++
  • Providing a brief overview of the facilities these standards provide, each of which will be discussed in greater detail later in the book
主站蜘蛛池模板: 延吉市| 佳木斯市| 澄城县| 吐鲁番市| 卢氏县| 晋江市| 安西县| 平南县| 平阳县| 大安市| 岢岚县| 名山县| 汤原县| 广西| 石家庄市| 陇南市| 常州市| 寻乌县| 张家川| 哈尔滨市| 昭苏县| 延庆县| 台山市| 钟山县| 唐海县| 林口县| 西盟| 文昌市| 文昌市| 观塘区| 佳木斯市| 上蔡县| 德安县| 枣阳市| 南平市| 吉林市| 特克斯县| 循化| 镇安县| 古田县| 韶关市|