Đây là quyển sách tiếng anh về lĩnh vực công nghệ thông tin cho sinh viên và những ai có đam mê. Quyển sách này trình về lý thuyết ,phương pháp lập trình cho ngôn ngữ C và C++.
[...]... Linux Kernel API FIGURE 1.3 Architecture diagram for the Second Life Viewer Internal APIs Third Party APIs Language APIs OS APIs 1.5 API examples 15 Table 1.1 List of open- and closed-source APIs used by the Second Life Viewer API Description APR Boost c-ares cURL Expat FMOD FreeGLUT FreeType glh_linear jpeglib KDU libpng llqtwebkit Ogg Vorbis OpenGL openjpeg OpenSSL Quicktime Vivox xmlrpc-epi zlib The... various common APIs, many of which you’ve probably heard of already, to give you an appreciation for how prevalent API development is • Operating System (OS) APIs Every OS must provide a set of standard APIs to allow programs to access OS-level services For example, the POSIX API defines functions such as fork(), getpid(), and kill() for managing UNIX-style processes Microsoft’s Win32 API 12 CHAPTER... many APIs, where some of these can also depend on further APIs This is illustrated in Figure 1.1, which shows an example application that depends directly on the API for three libraries (1–3), where two of those APIs depend on the API for a further two libraries (4 and 5) For instance, an image viewing application may use an API for loading GIF images, and that API may itself be built upon a lower-level... on more than one platform, such as Windows and Mac, they would have to rewrite the user interface code using a different GUI API for each platform or they would have to develop their own in-house cross-platform GUI toolkit However, these days most modern GUI toolkits are available for multiple platforms—including Windows, Mac, and Linux—which makes it far easier to write cross-platform applications As... topic and is, of course, the specific focus of this book I therefore begin by describing various styles of C and C++ APIs that you could adopt in your projects, such as flat C APIs, object-oriented APIs, template-based APIs, and data-driven APIs Chapter 6: C++ Usage Next I discuss various C++ language features that can impact good API design This includes numerous important issues such as good constructor... code based on these APIs looks like 14 CHAPTER 1 Introduction TIP APIs are used everywhere in modern software development, from OS- and language-level APIs to image, audio, graphics, concurrency, network, XML, mathematics, Web browsing, or GUI APIs 1.5.2 A Real-Life Example The aforementioned list of API examples was purposefully arranged by architectural level to show the range of APIs that you might... Electrical and Electronic Engineers (IEEE) Dr Reddy worked for 6 years at Pixar Animation Studios, where he was lead engineer for the studio’s in-house animation system This work involved the design and implementation of various high-performance APIs to support Academy Award-winning and nominated films, such as Finding Nemo, The Incredibles, Cars, Ratatouille, and Wall-E He then took on the role of engineering... Introduction 1.6 FILE FORMATS AND NETWORK PROTOCOLS There are several other forms of communication “contracts” commonly used in computer applications One of the most familiar is the file format This is a way to save in-memory data to a file on disk using a well-known layout of those data For example, the JPEG File Interchange Format (JFIF) is an image file format for exchanging JPEG-encoded imagery, commonly... the case of API development, these are absolutely critical to its success Specifically, some of the key differentiating factors of API development include the following • • • An API is an interface designed for developers, in much the same way that a GUI is an interface designed for end users In fact, it’s been said that an API is a user interface for programmers (Arnold, 2005) As such, your API could... 2008) You must anticipate this in your design A well-designed API can be your organization’s biggest asset Conversely, a poor API can create a support nightmare and even turn your users toward your competitors (Bloch, 2005), just as a buggy or difficult-to-use GUI may force an end user to switch to a different application Multiple applications can share the same API Figure 1.1 showed that a single application . class="bi x0 y0 w0 h0" alt="" API Design for C ++ API Design for C ++ Martin Reddy AMSTERDAM • BOSTON • HEIDELBERG • LONDON NEW YORK • OXFORD • PARIS • SAN DIEGO SAN. need for high-quality API design. This book therefore presents a practical distillation of the techniques and strategies of industrial-strength API design