Muutke küpsiste eelistusi

E-raamat: Modern C

  • Formaat: 408 pages
  • Ilmumisaeg: 26-Nov-2019
  • Kirjastus: Manning Publications
  • Keel: eng
  • ISBN-13: 9781638350651
  • Formaat - EPUB+DRM
  • Hind: 51,64 €*
  • * hind on lõplik, st. muud allahindlused enam ei rakendu
  • Lisa ostukorvi
  • Lisa soovinimekirja
  • See e-raamat on mõeldud ainult isiklikuks kasutamiseks. E-raamatuid ei saa tagastada.
  • Formaat: 408 pages
  • Ilmumisaeg: 26-Nov-2019
  • Kirjastus: Manning Publications
  • Keel: eng
  • ISBN-13: 9781638350651

DRM piirangud

  • Kopeerimine (copy/paste):

    ei ole lubatud

  • Printimine:

    ei ole lubatud

  • Kasutamine:

    Digitaalõiguste kaitse (DRM)
    Kirjastus on väljastanud selle e-raamatu krüpteeritud kujul, mis tähendab, et selle lugemiseks peate installeerima spetsiaalse tarkvara. Samuti peate looma endale  Adobe ID Rohkem infot siin. E-raamatut saab lugeda 1 kasutaja ning alla laadida kuni 6'de seadmesse (kõik autoriseeritud sama Adobe ID-ga).

    Vajalik tarkvara
    Mobiilsetes seadmetes (telefon või tahvelarvuti) lugemiseks peate installeerima selle tasuta rakenduse: PocketBook Reader (iOS / Android)

    PC või Mac seadmes lugemiseks peate installima Adobe Digital Editionsi (Seeon tasuta rakendus spetsiaalselt e-raamatute lugemiseks. Seda ei tohi segamini ajada Adober Reader'iga, mis tõenäoliselt on juba teie arvutisse installeeritud )

    Seda e-raamatut ei saa lugeda Amazon Kindle's. 

If you think Modern and C dont belong in the same sentence, think again. The C standards committee actively reviews and extends the language, with updated published C standards as recently as 2018. In Modern C, author Jens Gustedt teaches you the skills and features you need to write relevant programs in this tried-and-true language, including Linux and Windows, device drivers, web servers and browsers, smartphones, and much more! 

 

Modern C teaches you to take your C programming skills to new heights, whether youre just starting out with C or have more extensive experience. Organized by level, this comprehensive guide lets you jump in where it suits you best while still reaping the maximum benefits.

 

Key Features





Fundamentals of C programming Operators and functions Performance techniques C library functions

For  more  than  four  decades,  C  has  proved  its  usefulness  and  staying power for everything from massive systems for mainframes, satellites, and internet browsers to tiny  embedded systems in vending machines, credit card readers, and alarm clocks. Today youll find lightning-fast, elegant  C  programs  running  in  smartphone  kernels,  databases,  3D movies, video games, and scores of other modern applications. 

 

For programmers comfortable writing simple programs in a language like Java, Python, Ruby, C#, C++, or C.

 

Jens Gustedt has been a senior scientist at the French National Institute for Computer Science and Control (INRIA) since 1998, working in areas including algorithms, scientific experimentation, models for coarse-grained parallelism, and distributed locking. Currently, hes conducting the Modular C project, which has given rise to libraries such as arbogast and EiLck.
Acknowledgments ix
About this book xi
About the cover illustration xvi
Level 0 Encounter
1(20)
1 Getting started
3(8)
1.1 Imperative programming
4(1)
1.2 Compiling and running
5(6)
2 The principal structure of a program
11(10)
2.1 Grammar
11(2)
2.2 Declarations
13(2)
2.3 Definitions
15(2)
2.4 Statements
17(4)
Iteration
17(1)
Function calls
18(1)
Function return
19(2)
Level 1 Acquaintance
21(126)
3 Everything is about control
27(10)
3.1 Conditional execution
28(2)
3.2 Iterations
30(4)
3.3 Multiple selection
34(3)
4 Expressing computations
37(12)
4.1 Arithmetic
40(2)
+, -, and *
40(1)
Division and remainder
41(1)
4.2 Operators that modify objects
42(1)
4.3 Boolean context
43(2)
Comparison
43(1)
Logic
44(1)
4.4 The ternary or conditional operator
45(1)
4.5 Evaluation order
45(4)
5 Basic values and data
49(32)
5.1 The abstract state machine
50(4)
Values
52(1)
Types
52(1)
Binary representation and the abstract state machine
52(1)
Optimization
53(1)
5.2 Basic types
54(3)
5.3 Specifying values
57(4)
Complex constants
61(1)
5.4 Implicit conversions
61(3)
5.5 Initializers
64(1)
5.6 Named constants
65(5)
Read-only objects
66(1)
Enumerations
67(1)
Macros
68(1)
Compound literals
69(1)
5.7 Binary representions
70(11)
Unsigned integers
70(1)
Bit sets and bitwise operators
71(2)
Shift operators
73(1)
Boolean values
74(1)
Signed integers
74(3)
Fixed-width integer types
77(1)
Floatingpoint data
78(3)
6 Derived data types
81(18)
6.1 Arrays
82(7)
Array declaration
82(1)
Array operations
83(1)
Array length
83(2)
Arrays as parameters
85(1)
Strings are special
85(4)
6.2 Pointers as opaque types
89(2)
6.3 Structures
91(5)
6.4 New names for types: type aliases
96(3)
7 Functions
99(14)
7.1 Simple functions
100(2)
7.2 Main is special
102(2)
7.3 Recursion
104(9)
8 C library functions
113(34)
8.1 General properties of the C library and its functions
113(6)
Headers
114(1)
Interfaces
114(2)
Error checking
116(1)
Bounds-checking interfaces
117(1)
Platform preconditions
118(1)
8.2 Mathematics
119(2)
8.3 Input, output, and file manipulation
121(11)
Unformatted text output
121(2)
Files and streams
123(2)
Text IO
125(2)
Formatted output
127(3)
Unformatted text input
130(2)
8.4 String processing and conversion
132(4)
8.5 Time
136(5)
8.6 Runtime environment settings
141(2)
8.7 Program termination and assertions
143(4)
Level 2 Cognition
147(108)
9 Style
149(8)
9.1 Formatting
150(1)
9.2 Naming
151(6)
10 Organization and documentation
157(12)
10.1 Interface documentation
158(3)
10.2 Implementation
161(8)
Macros
162(2)
Pure functions
164(5)
11 Pointers
169(22)
11.1 Pointer operations
170(8)
Address-of and object-of operators
170(1)
Pointer addition
171(2)
Pointer subtraction and difference
173(2)
Pointer validity
175(2)
Null pointers
177(1)
11.2 Pointers and structures
178(4)
11.3 Pointers and arrays
182(2)
Array and pointer access are the same
182(1)
Array and pointer parameters are the same
182(2)
11.4 Function pointers
184(7)
12 The C memory model
191(14)
12.1 A uniform memory model
193(1)
12.2 Unions
193(2)
12.3 Memory and state
195(2)
12.4 Pointers to unspecific objects
197(1)
12.5 Explicit conversions
198(1)
12.6 Effective types
199(1)
12.7 Alignment
200(5)
13 Storage
205(26)
13.1 Malloc and friends
206(9)
A complete example with varying array size
207(8)
Ensuring consistency of dynamic allocations
215(1)
13.2 Storage duration, lifetime, and visibility
215(6)
Static storage duration
219(1)
Automatic storage duration
220(1)
13.3 Digression: using objects "before" their definition
221(2)
13.4 Initialization
223(2)
13.5 Digression: a machine model
225(6)
14 More involved processing and IO
231(24)
14.1 Text processing
231(7)
14.2 Formatted input
238(1)
14.3 Extended character sets
239(8)
14.4 Binary streams
247(2)
14.5 Error checking and cleanup
249(6)
Level 3 Experience
255(102)
15 Performance
257(44)
15.1 Inline functions
260(3)
15.2 Using restrict qualifiers
263(2)
15.3 Measurement and inspection
265(12)
Function-like macros
275(2)
16.1 How function-like macros work
277(2)
16.2 Argument checking
279(3)
16.3 Accessing the calling context
282(3)
16.4 Default arguments
285(1)
16.5 Variable-length argument lists
286(8)
Variadic macros
287(4)
A detour: variadic functions
291(3)
16.6 Type-generic programming
294(7)
17 Variations in control flow
301(24)
17.1 A complicated example
303(2)
17.2 Sequencing
305(3)
17.3 Short jumps
308(1)
17.4 Functions
309(1)
17.5 Longjumps
310(5)
17.6 Signal handlers
315(10)
18 Threads
325(20)
18.1 Simple inter-thread control
328(2)
18.2 Race-free initialization and destruction
330(3)
18.3 Thread-local data
333(1)
18.4 Critical data and critical sections
333(3)
18.5 Communicating through condition variables
336(5)
18.6 More sophisticated thread management
341(4)
19 Atomic access and memory consistency
345(12)
19.1 The "happened before" relation
347(2)
19.2 C library calls that provide synchronization
349(3)
19.3 Sequential consistency
352(1)
19.4 Other consistency models
353(4)
Takeaways 357(13)
Bibliography 370(2)
Index 372
Jens Gustedt has been a senior scientist at the French National Institute for Computer Science and Control (INRIA) since 1998, working in areas including algorithms, scientific experimentation, models for coarse-grained parallelism, and distributed locking. Currently, hes conducting the Modular C project, which has given rise to libraries such as arbogast and EiLck.