Nowe wydanie tego klasycznego podręcznika zawiera jednoznaczne i szczegółowe wyjaśnienie każdej funkcjonalności języka C i biblioteki wykonawczej, włącznie z wielowątkowością, generycznymi makrami i funkcjami bibliotecznymi wprowadzonymi w w nowej wersji standardu C (C11).
Każdy programista C, który potrzebuje poznać efekty mniej znanej funkcji lub zrozumieć, jak musi się ona zachowywać zgodnie ze standardem, znajdzie tu potrzebne informacje wraz z przykładami.
Idealna dla doświadczonych programistów C i C++, książka zawiera również omówienie popularnych narzędzi z kolekcji oprogramowania GNU. Czytelnik dowie się, jak budować programy przy użyciu GNU Make, kompilować pliki wykonywalne z kodu źródłowego oraz testować i debugować programy za pomocą debugerów GNU .
Trzy części tej autorytatywnej książki obejmują:
• Koncepcje języka C i elementy składniowe, z odrębnymi rozdziałami poświęconymi typom, wyrażeń, wskaźników, zarządzania pamięcią, obsługi wejścia/wyjścia i innych.
• Standardowa biblioteka C, obejmująca opis standardowych nagłówków i szczegółowe omówienie wszystkich funkcji bibliotecznych.
• Podstawowe narzędzia programisty C ze zbioru oprogramowania GNU, wraz z instrukcjami ich użycia w Eclipse IDE.
Język C w pigułce to wspaniałe narzędzie dla programistów C. W jednym miejscu znajdziemy omówienie najnowszych usprawnień dodanych w wersji 2011 standardu.
Peter Prinz prowadzi wykłady dla tysięcy programistów i projektantów oprogramowania dla systemów Unix i Windows. Jest również współautorem kilku książek o projektowaniu oprogramowania w językach C/C++.
Tony Crawford jest autorem i tłumaczem, zajmującym się programowaniem w C, lokalizacjami oprogramowania i administrowaniem sieciami.
Spis treści:
Część I: Język
1 Podstawy języka 3
Cechy języka C 3
Struktura programów w języku C 4
Pliki źródłowe 6
Komentarze 7
Zbiory znaków 9
Identyfikatory 15
Jak działa kompilator C 20
2 Typy 25
Typologia 25
Typy całkowite 26
Typy zmiennopozycyjne 33
Zespolone typy zmiennopozycyjne 36
Typy wyliczeniowe 37
Typ void 38
Wyrównanie obiektów w pamięci 40
3 Literały 41
Stałe całkowite 41
Stałe zmiennopozycyjne 42
Stałe znakowe 44
Literały łańcuchowe 48
4 Przekształcenia typów 53
Przekształcenia typów arytmetycznych 54
Przekształcenia typów niearytmetycznych 62
Jawne przekształcenia wskaźników 64
5 Wyrażenia i operatory 71
Jak są przetwarzane wyrażenia 72
Szczegóły dotyczące operatorów 78
Wyrażenia stałe 104
6 Instrukcje 107
Instrukcje wyrażeniowe 107
Instrukcje blokowe 108
Pętle 109
Instrukcje sterujące 114
Przeskoki bezwarunkowe 118
7 Funkcje 123
Definicje funkcji123
Deklaracje funkcji 131
Jak są wykonywane funkcje 133
Wskaźniki jako argumenty i zwracane wartości 133
Funkcje otwarte 135
Funkcje, które niczego nie zwracają 137
Funkcje rekurencyjne 137
Zmienna liczba argumentów 139
8 Tablice 141
Definiowanie tablic 141
Dostęp do elementów tablicy 143
Inicjalizowanie tablic 144
Łańcuchy 146
Tablice wielowymiarowe 149
Tablice jako argumenty funkcji 151
9 Wskaźniki 155
Deklarowanie wskaźników 155
Operacje ze wskaźnikami 159
Wskaźniki i kwalifikatory typu 163
Wskaźniki do tablic i tablice wskaźników 167
Wskaźniki do funkcji 172
10 Struktury, unie i pola bitowe 175
Struktury 175
Unie 187
Anonimowe struktury i unie 189
Pola bitowe 190
11 Deklaracje 193
Deklaracje obiektów i funkcji 194
Nazwy typów 202
Deklaracje typedef203
Deklaracje _Static_assert 205
Łączność identyfikatorów 206
Czas trwania obiektów w pamięci 208
Inicjalizacja 209
12 Dynamiczne zarządzanie pamięcią 211
Dynamiczne alokowanie pamięci 212
Cechy zaalokowanej pamięci 214
Zmiana ilości i zwalnianie pamięci 214
Drzewo binarne ogólnego przeznaczenia 216
13 Wejście i wyjście 229
Strumienie 230
Pliki 231
Otwieranie i zamykanie plików 234
Odczytywanie i zapisywanie 236
Bezpośredni dostęp do pliku 257
14 Wielowątkowość 261
Wątki 262
Dostęp do danych współdzielonych 267
Komunikacja między wątkami: zmienne warunkowe 275
Obiekty lokalne wątku i pamięć własna wątku 280
15 Dyrektywy preprocesora 285
Włączanie zawartości plików nagłówkowych286
Definiowanie i używanie makr 288
Makra generyczne 296
Kompilacja warunkowa 297
Definiowanie numerów wierszy 299
Generowanie komunikatów błędu 300
Dyrektywa #pragma300
Operator _Pragma301
Makra predefiniowane 302
Część II: Biblioteka standardowa
16 Nagłówki standardowe 307
Wykorzystywanie nagłówków standardowych 308
Funkcje ze sprawdzaniem zakresów 312
Zawartość nagłówków standardowych 313
17 Rzut oka na funkcje 347
Wejście i wyjście347
Funkcje matematyczne 349
Klasyfikacja i przekształcanie znaków 357
Przetwarzanie łańcuchów 359
Znaki wielobajtowe 361
Przekształcenia między liczbami i łańcuchami 362
Wyszukiwanie i sortowanie 364
Obsługa bloku pamięci 364
Dynamiczne zarządzanie pamięcią 365
Data i czas 365
Sterowanie procesem 367
Internacjonalizacja 368
Nielokalne skoki369
Wielowątkowość (C11) 370
Debugowanie 374
Komunikaty błędu375
18 Funkcje biblioteki standardowej 377
Część III: Podstawowe narzędzia
19 Kompilowanie z wykorzystaniem GCC 745
GNU Compiler Collection 745
Pobieranie i instalowanie GCC 746
Kompilowanie programów C za pomocą GCC747
Dialekty C 759
Optymalizacja 762
Debugowanie 766
Profilowanie 767
Podsumowanie opcji i zmiennych środowiskowych 767
20 Wykorzystanie make do budowania programów C 773
Elementy docelowe, zależności i polecenia 774
Makefile 774
Reguły 775
Komentarze 782
Zmienne 783
Cele pozorne 791
Inne atrybuty elementu docelowego 793
Makra 794
Funkcje 795
Dyrektywy 800
Uruchamianie make804
21 Debugowanie programów C za pomocą GDB 813
Instalowanie GDB 814
Przykładowa sesja debugowania 814
Uruchamianie GDB 819
Korzystanie z poleceń GDB 825
Analiza stosu 838
Analiza plików zrzutu pamięci w GDB 850
22 Tworzenie programów C za pomocą IDE 853
Środowiska IDE dla C 853
Eclipse dla C/C++ 854
Tworzenie programu C za pomocą Eclipse 856
Debugowanie programu C w Eclipse 860
Więcej informacji na temat środowiska Eclipse 863
Indeks 865
O autorach 885
adobe algorytmy apache asp autocad asembler bsd c++ c# delphi dtp excel flash html java javascript linux matlab mysql office php samba voip uml unix visual studio windows word
Księgarnia Informatyczna zaprasza.