Ekstremalny kod w języku C. Współbieżność i programowanie zorientowane obiektowo
- Autor:
- Kamran Amini
- Ocena:
- 4.3/6 Opinie: 3
- Stron:
- 752
- Druk:
- oprawa twarda
- Dostępne formaty:
-
PDFePubMobi
Opis ebooka: Ekstremalny kod w języku C. Współbieżność i programowanie zorientowane obiektowo
Jeśli uważasz, że język C dawno został odłożony do lamusa, jesteś w błędzie. Wielu inżynierów oprogramowania o nim zapomniało, jednak C wciąż cieszy się popularnością. Jest przy tym uważany za dość trudny język programowania, gdyż samo opanowanie jego składni to za mało, aby efektywnie go wykorzystywać. Właśnie dlatego ceni się programistów z wnikliwym i naukowym podejściem do reguł i praktyk. Tylko wtedy można wykorzystać możliwości języka C do tworzenia efektywnych systemów. W tym celu profesjonalny programista C musi tworzyć kod na bardzo wysokim poziomie.
To książka przeznaczona dla programistów, którzy chcą stać się ekspertami języka C. Przedstawia zasady pracy z dyrektywami preprocesora, makrami, kompilacją warunkową i ze wskaźnikami. Omawia ważne aspekty projektowania algorytmów, funkcji i struktur. Sporo miejsca poświęcono tu kwestii uzyskiwania maksimum wydajności z aplikacji działających w środowisku o ograniczonych zasobach. Starannie opisano, jak C współpracuje z systemem Unix, w jaki sposób zaimplementowano reguły zorientowane obiektowo w języku C, a także jak wykorzystać wieloprocesowość. To świetny materiał bazowy do samodzielnego badania, zadawania pytań i eksperymentowania z kodem.
W książce między innymi:
- zaawansowane elementy języka C
- struktury pamięci i proces kompilacji
- programowanie zorientowane obiektowo w proceduralnym kodzie C
- tworzenie kodu na niskim poziomie
- współbieżność, wielowątkowość i integracja z innymi językami programowania
- testy jednostkowe i debugowanie oraz komunikacja międzyprocesowa
Programowanie w C: przejdź na najwyższy poziom!
Poznanie języka C nie kończy się na opanowaniu jego składni. Nieustannie są poszukiwani programiści z wnikliwym i naukowym podejściem do reguł i praktyk. Dzięki książce Extreme C dowiesz się, jak wykorzystać możliwości języka C do tworzenia efektywnych i efektywniej działających systemów. Ten praktyczny przewodnik pomoże stać się ekspertem programowania w C.
Opierając się na posiadanej wiedzy z zakresu C, do perfekcji opanujesz pracę z dyrektywami preprocesora, makrami, kompilacją warunkową, wskaźnikami itd. Świeżym okiem spojrzysz na projektowanie algorytmów, funkcji i struktur. Odkryjesz, w jaki sposób C pozwala na wyciśnięcie maksimum wydajności z aplikacji o znaczeniu krytycznym działających w środowiskach o ograniczonej ilości zasobów.
W XXI wieku język C wciąż odgrywa ważną rolę w programowaniu. Pozostaje podstawowym językiem programowania w dziedzinach inżynierii, lotnictwa, badania kosmosu itd. Z lektury książki dowiesz się, jak C współpracuje z systemem UNIX, w jaki sposób zaimplementowano reguły zorientowane obiektowo w języku C, a także jak wykorzystać wieloprocesowość.
W książce autor zachęca do samodzielnego myślenia, zadawania pytań i eksperymentowania. To jest pozycja niezbędna dla każdego, kto chce przejść na wyższy poziom w zakresie programowania w języku C.
W książce znajdziesz między innymi:
- zaawansowaną wiedzę z zakresu C opartą na solidnych podstawach
- omówienie struktur pamięci i procesu kompilacji, a także podpowiedzi pozwalające na pełne wykorzystanie ich możliwości
- wyjaśnienie, jak reguły programowania zorientowanego obiektowo można zastosować w proceduralnym kodzie C
- omówienie tworzenia kodu na niskim poziomie, blisko warstwy sprzętowej i tym samym wyciśnięcie maksymalnej wydajności z danego urządzenia
- prezentację współbieżności, wielowątkowości, wieloprocesowości i integracji z innymi językami programowania
- sposoby przeprowadzania testów jednostkowych i debugowania, używania systemów kompilacji, a także stosowania komunikacji międzyprocesowej podczas programowania w C
Wybrane bestsellery
-
Extreme C teaches you to use C’s power. You will master preprocessor directives, macros, conditional compilation, pointers, and much more, and gain new insight into algorithm design, functions, and structures. Amini’s book captures his experience as a programmer and scientist, encou...
Extreme C. Taking you to the limit in Concurrency, OOP, and the most advanced capabilities of C Extreme C. Taking you to the limit in Concurrency, OOP, and the most advanced capabilities of C
-
Jeśli zależy Ci na tym, aby zdobyć rzetelną wiedzę i perfekcyjne umiejętności programowania z użyciem języka C++, powinieneś uczyć się od wybitnego eksperta i twórcy tego języka — Bjarne Stroustrupa, który jako pierwszy zaprojektował i zaimplementował C++. Podręcznik, który trzymasz w ręku,...
Programowanie. Teoria i praktyka z wykorzystaniem C++. Wydanie III Programowanie. Teoria i praktyka z wykorzystaniem C++. Wydanie III
(39.90 zł najniższa cena z 30 dni)74.50 zł
149.00 zł(-50%) -
Język C mimo upływu lat wciąż wydaje się niezastąpiony. Umożliwia pisanie zwięzłego kodu, który działa szybko mimo niewielkich zasobów sprzętowych. Choć wielu programistów używa C, trudno jest znaleźć eksperckie wskazówki dotyczące programowania w tym języku. Tymczasem w profesjonalnych zastosowa...
Mistrz języka C. Najlepsze zasady, praktyki i wzorce Mistrz języka C. Najlepsze zasady, praktyki i wzorce
(40.20 zł najniższa cena z 30 dni)46.90 zł
67.00 zł(-30%) -
Internet rzeczy nadal ewoluuje - i staje się coraz powszechniejszy, a to może być zachętą do tego, by poznać go bliżej. Internet rzeczy. Podstawy programowania aplikacji i serwerów sieciowych w językach C/C++, MicroPython i Lua na urządzeniach IoT ESP8266, ESP32 i Arduino może się okazać świetną ...
Internet rzeczy. Podstawy programowania aplikacji i serwerów sieciowych w językach C/C++, MicroPython i Lua na urządzeniach IoT ESP8266, ESP32 i Arduino Internet rzeczy. Podstawy programowania aplikacji i serwerów sieciowych w językach C/C++, MicroPython i Lua na urządzeniach IoT ESP8266, ESP32 i Arduino
(59.40 zł najniższa cena z 30 dni)69.30 zł
99.00 zł(-30%) -
Poznanie języka to jednak dopiero połowa sukcesu. Musisz też wiedzieć, jakie operacje w systemie wykonuje ten język. Do zbadania, jak działa kompilator i co dzieje się za kulisami, w książce tej wykorzystywana jest płytka rozwojowa Nucleo z niewielkim, tanim mikroukładem ARM. Dowiesz się, jak pra...
Język C w programowaniu urządzeń. Praktyczna nauka tworzenia kodu dla systemów wbudowanych Język C w programowaniu urządzeń. Praktyczna nauka tworzenia kodu dla systemów wbudowanych
(52.20 zł najniższa cena z 30 dni)60.90 zł
87.00 zł(-30%) -
Mimo że C - stworzony przez pracownika Laboratoriów Bella Dennisa Ritchiego - liczy sobie pół wieku, wciąż pozostaje niezwykle popularnym proceduralnym językiem ogólnego zastosowania. To dzięki niemu powstają elementy systemów operacyjnych i programów użytkowych. Tymczasem za sprawą Międzynarodow...(71.40 zł najniższa cena z 30 dni)
83.30 zł
119.00 zł(-30%) -
Niniejsza publikacja nie stanowi samodzielnego podręcznika do nauki języka C. Pomyślana jest raczej jako pomoc dla osób stawiających pierwsze kroki w nauce programowania. Przeznaczona jest dla studentów pierwszego roku Informatyki oraz Informatyki i ekonometrii. Początki nauki progr...
Podstawy programowania w języku C. Zadania z rozwiązaniami Podstawy programowania w języku C. Zadania z rozwiązaniami
-
Expert advice on C programming is hard to find. While much help is available for object-oriented programming languages, there's surprisingly little for the C language. With this hands-on guide, beginners and experienced C programmers alike will find guidance about design decisions, including how ...(186.15 zł najniższa cena z 30 dni)
186.15 zł
219.00 zł(-15%) -
This book takes you through basic programming concepts and shows you how C is a powerful general-purpose programming language that is excellent for beginners to learn. It goes beyond ANSI C and C99 to present some of the latest features of C.
Learn C Programming. A beginner's guide to learning the most powerful and general-purpose programming language with ease - Second Edition Learn C Programming. A beginner's guide to learning the most powerful and general-purpose programming language with ease - Second Edition
-
W tym podręczniku do praktycznej nauki programowania w języku C szczególną uwagę zwrócono na pisanie kodu umożliwiającego uzyskanie wysokiej wydajności w środowiskach o bardzo małych zasobach. Znalazło się tu gruntowne omówienie podstaw dobrego programowania w języku C. Opisano struktury kontroln...
Język C dla małych urządzeń. Krótki kod o wielkich możliwościach Język C dla małych urządzeń. Krótki kod o wielkich możliwościach
(40.20 zł najniższa cena z 30 dni)46.90 zł
67.00 zł(-30%)
O autorze ebooka
Kamran Amini specjalizuje się w programowaniu jądra systemu operacyjnego i tworzeniu rozwiązań osadzonych. Pracował dla wielu doskonale znanych firm irańskich. Pasjonuje się teorią obliczeń, systemami rozproszonymi, uczeniem maszynowym i informatyką kwantową. Interesuje się również powstaniem wszechświata, geometrią czarnych dziur, kwantową teorią pola i teorią strun.
Zobacz pozostałe książki z serii Packt
-
Oto kompleksowe omówienie sposobów wdrażania najnowszych dostępnych środków zabezpieczających systemy linuksowe. Z książki dowiesz się, jak skonfigurować laboratorium do ćwiczeń praktycznych, tworzyć konta użytkowników z odpowiednimi poziomami uprawnień, chronić dane dzięki uprawnieniom i szyfrow...
Bezpieczeństwo systemu Linux. Hardening i najnowsze techniki zabezpieczania przed cyberatakami. Wydanie III Bezpieczeństwo systemu Linux. Hardening i najnowsze techniki zabezpieczania przed cyberatakami. Wydanie III
(77.40 zł najniższa cena z 30 dni)90.30 zł
129.00 zł(-30%) -
Ta książka pomoże Ci w doskonaleniu umiejętności potrzebnych na każdym etapie dochodzenia cyfrowego, od zbierania dowodów, poprzez ich analizę, po tworzenie raportów. Dzięki wielu wskazówkom i praktycznym ćwiczeniom przyswoisz techniki analizy, ekstrakcji danych i raportowania przy użyciu zaawans...
Informatyka śledcza i Kali Linux. Przeprowadź analizy nośników pamięci, ruchu sieciowego i zawartości RAM-u za pomocą narzędzi systemu Kali Linux 2022.x. Wydanie III Informatyka śledcza i Kali Linux. Przeprowadź analizy nośników pamięci, ruchu sieciowego i zawartości RAM-u za pomocą narzędzi systemu Kali Linux 2022.x. Wydanie III
(59.40 zł najniższa cena z 30 dni)69.30 zł
99.00 zł(-30%) -
Oto uzupełnione i zaktualizowane wydanie bestsellerowego przewodnika dla inżynierów sieci. Dzięki niemu przejdziesz trudną (ale ekscytującą!) drogę od tradycyjnej platformy do platformy sieciowej opartej na najlepszych praktykach programistycznych. Zaczniesz od zagadnień podstawowych, aby następn...
Zaawansowana inżynieria sieci w Pythonie. Automatyzacja, monitorowanie i zarządzanie chmurą. Wydanie IV Zaawansowana inżynieria sieci w Pythonie. Automatyzacja, monitorowanie i zarządzanie chmurą. Wydanie IV
(77.40 zł najniższa cena z 30 dni)90.30 zł
129.00 zł(-30%) -
Oto zaktualizowane wydanie bestsellerowego przewodnika dla architektów rozwiązań. Dzięki niemu dobrze poznasz wzorce projektowe wbudowane w chmurę, czyli model AWS Well-Architected Framework. Zaznajomisz się z sieciami w chmurze AWS z uwzględnieniem sieci brzegowych i tworzeniem hybrydowych połąc...
AWS dla architektów rozwiązań. Tworzenie, skalowanie i migracja aplikacji do chmury Amazon Web Services. Wydanie II AWS dla architektów rozwiązań. Tworzenie, skalowanie i migracja aplikacji do chmury Amazon Web Services. Wydanie II
Saurabh Shrivastava, Neelanjali Srivastav, Alberto Artasanchez, Imtiaz Sayed
(83.40 zł najniższa cena z 30 dni)97.30 zł
139.00 zł(-30%) -
Ten szczegółowy przewodnik pozwoli Ci na błyskawiczne zapoznanie się z .NET MAUI i sprawne rozpoczęcie pisania aplikacji za pomocą tej technologii. Zaprezentowano w nim filozofię działania .NET MAUI, jak również przebieg prac nad tworzeniem kompletnej aplikacji wieloplatformowej dla systemów: And...
Projektowanie aplikacji w .NET MAUI. Jak budować doskonałe interfejsy użytkownika dla aplikacji wieloplatformowych Projektowanie aplikacji w .NET MAUI. Jak budować doskonałe interfejsy użytkownika dla aplikacji wieloplatformowych
(47.40 zł najniższa cena z 30 dni)55.30 zł
79.00 zł(-30%) -
Ta książka szczególnie przyda się osobom, które rozpoczynają pracę z Angularem. Dzięki niej szybko zaczniesz tworzyć aplikacje z wykorzystaniem wiersza poleceń (CLI), pisać testy jednostkowe i używać stylów zgodnych ze standardem Material Design. Dowiesz się również, jak wdrażać aplikacje w środo...
Poznaj Angular. Rzeczowy przewodnik po tworzeniu aplikacji webowych z użyciem frameworku Angular 15. Wydanie IV Poznaj Angular. Rzeczowy przewodnik po tworzeniu aplikacji webowych z użyciem frameworku Angular 15. Wydanie IV
(53.40 zł najniższa cena z 30 dni)62.30 zł
89.00 zł(-30%) -
Oto praktyczny, przystępnie napisany przewodnik, który stanowi wprowadzenie do pracy z technologią Blazor. Opisuje możliwości modeli Server i WebAssembly, przedstawia także krok po kroku proces powstawania aplikacji internetowej. Dzięki temu płynnie przejdziesz do tworzenia projektów Blazor, nauc...
Platforma Blazor. Praktyczny przewodnik. Jak tworzyć interaktywne aplikacje internetowe z C# i .NET 7. Wydanie II Platforma Blazor. Praktyczny przewodnik. Jak tworzyć interaktywne aplikacje internetowe z C# i .NET 7. Wydanie II
(41.40 zł najniższa cena z 30 dni)48.30 zł
69.00 zł(-30%) -
To książka przeznaczona dla profesjonalnych administratorów i użytkowników Linuksa. Dzięki niej szybciej zrozumiesz, w jakim stopniu dobre zarządzanie systemami na poziomie systemu operacyjnego może wynieść działanie infrastruktury biznesowej na zupełnie inny poziom. Znajdziesz tu najlepsze prakt...
Linux dla admina. Najlepsze praktyki. O czym pamiętać podczas projektowania i zarządzania systemami Linux dla admina. Najlepsze praktyki. O czym pamiętać podczas projektowania i zarządzania systemami
(53.40 zł najniższa cena z 30 dni)62.30 zł
89.00 zł(-30%) -
Książka stanowi wprowadzenie do pracy z funkcjami SI dostępnymi w Power BI; jest skierowana do osób znających to środowisko. Dowiesz się z niej, w jaki sposób sztuczna inteligencja może być używana w Power BI i jakie funkcje są w nim domyślnie dostępne. Nauczysz się też eksplorować i przygotowywa...
Power BI i sztuczna inteligencja. Jak w pełni wykorzystać funkcje AI dostępne w Power BI Power BI i sztuczna inteligencja. Jak w pełni wykorzystać funkcje AI dostępne w Power BI
(47.40 zł najniższa cena z 30 dni)55.30 zł
79.00 zł(-30%) -
To drugie wydanie popularnego przewodnika dla śledczych. Dzięki niemu sprawnie przygotujesz się do pracy z narzędziami kryminalistycznymi i zapoznasz się ze stosowanymi w informatyce śledczej technikami. Nauczysz się pozyskiwać informacje o podejrzanych i zabezpieczać znajdujące się w sieci dane,...
Informatyka śledcza. Gromadzenie, analiza i zabezpieczanie dowodów elektronicznych dla początkujących. Wydanie II Informatyka śledcza. Gromadzenie, analiza i zabezpieczanie dowodów elektronicznych dla początkujących. Wydanie II
(47.40 zł najniższa cena z 30 dni)55.30 zł
79.00 zł(-30%)
Ebooka "Ekstremalny kod w języku C. Współbieżność i programowanie zorientowane obiektowo" przeczytasz na:
-
czytnikach Inkbook, Kindle, Pocketbook, Onyx Boox i innych
-
systemach Windows, MacOS i innych
-
systemach Windows, Android, iOS, HarmonyOS
-
na dowolnych urządzeniach i aplikacjach obsługujących formaty: PDF, EPub, Mobi
Masz pytania? Zajrzyj do zakładki Pomoc »
Audiobooka "Ekstremalny kod w języku C. Współbieżność i programowanie zorientowane obiektowo" posłuchasz:
-
w aplikacji Ebookpoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych
-
na dowolnych urządzeniach i aplikacjach obsługujących format MP3 (pliki spakowane w ZIP)
Masz pytania? Zajrzyj do zakładki Pomoc »
Kurs Video "Ekstremalny kod w języku C. Współbieżność i programowanie zorientowane obiektowo" zobaczysz:
-
w aplikacjach Ebookpoint i Videopoint na Android, iOS, HarmonyOs
-
na systemach Windows, MacOS i innych z dostępem do najnowszej wersji Twojej przeglądarki internetowej
Szczegóły ebooka
- Tytuł oryginału:
- Extreme C: Taking you to the limit in Concurrency, OOP, and the most advanced capabilities of C
- Tłumaczenie:
- Robert Górczyński
- ISBN Książki drukowanej:
- 978-83-283-7459-1, 9788328374591
- Data wydania książki drukowanej:
- 2021-04-20
- ISBN Ebooka:
- 978-83-283-7467-6, 9788328374676
- Data wydania ebooka:
- 2021-04-20 Data wydania ebooka często jest dniem wprowadzenia tytułu do sprzedaży i może nie być równoznaczna z datą wydania książki papierowej. Dodatkowe informacje możesz znaleźć w darmowym fragmencie. Jeśli masz wątpliwości skontaktuj się z nami sklep@ebookpoint.pl.
- Format:
- 164x239
- Numer z katalogu:
- 137673
- Rozmiar pliku Pdf:
- 6.1MB
- Rozmiar pliku ePub:
- 4.7MB
- Rozmiar pliku Mobi:
- 13.1MB
- Przykłady na ftp
Ebook zawiera materiały dodatkowe, które możesz pobrać z serwera FTP - link znajdziesz na stronie redakcyjnej.
- Zgłoś erratę
- Serie wydawnicze: Packt
Spis treści ebooka
- Dyrektywy preprocesora 25
- Makra 26
- Kompilacja warunkowa 39
- Wskaźniki zmiennych 42
- Składnia 43
- Operacje arytmetyczne na wskaźnikach zmiennych 45
- Wskaźniki ogólne 48
- Wielkość wskaźnika 51
- Zapomniany wskaźnik 51
- Wybrane informacje szczegółowe dotyczące funkcji 54
- Anatomia funkcji 54
- Waga projektu 55
- Zarządzanie stosem 55
- Przekazywanie przez wartość kontra przekazywanie przez referencję 56
- Wskaźniki funkcji 59
- Struktury 61
- Dlaczego struktura? 62
- Dlaczego typ zdefiniowany przez użytkownika? 62
- Jakie możliwości oferuje struktura? 63
- Układ pamięci 64
- Struktury zagnieżdżone 68
- Wskaźniki struktur 69
- Podsumowanie 70
- Proces kompilacji 74
- Kompilacja projektu w języku C 76
- Etap 1. Uruchomienie preprocesora 83
- Etap 2. Kompilacja 84
- Etap 3. Uruchomienie asemblera 87
- Etap 4. Linkowanie 90
- Preprocesor 93
- Kompilator 97
- Drzewo składniowe 98
- Asembler 100
- Linker 101
- Jak działa linker? 102
- Można oszukać linkera! 110
- Dekorowanie nazw C++ 114
- Podsumowanie 116
- Interfejs binarny aplikacji 118
- Formaty plików obiektowych 120
- Relokowane pliki obiektowe 121
- Wykonywalne pliki obiektowe 126
- Biblioteki statyczne 130
- Biblioteki dynamiczne 138
- Ręczne wczytywanie bibliotek współdzielonych 143
- Podsumowanie 145
- Układ pamięci procesu 148
- Określanie struktury pamięci 149
- Analiza statycznego układu pamięci 150
- Segment BSS 152
- Segment data 154
- Segment text 158
- Analiza dynamicznego układu pamięci 160
- Mapowanie pamięci 161
- Segment stack 165
- Segment sterty 167
- Podsumowanie 170
- Stos 174
- Analizowanie stosu 175
- Kwestie związane z używaniem pamięci stosu 182
- Sterta 185
- Alokacja i zwalnianie pamięci na stercie 187
- Reguły dotyczące pamięci sterty 196
- Zarządzanie pamięcią w ograniczonym środowisku 199
- Środowiska o ograniczonej ilości pamięci 200
- Środowisko charakteryzujące się większą wydajnością działania 202
- Podsumowanie 208
- Myślenie w sposób zorientowany obiektowo 214
- Koncepcje myślowe 215
- Mapowanie idei w głowie i modele obiektowe 216
- Obiekty nie znajdują się w kodzie 218
- Atrybuty obiektu 219
- Domena 220
- Relacje między obiektami 221
- Operacje zorientowane obiektowo 222
- Obiekt ma zdefiniowane zachowanie 224
- Dlaczego język C nie jest zorientowany obiektowo? 225
- Hermetyzacja 226
- Hermetyzacja atrybutu 226
- Hermetyzacja zachowania 229
- Ukrywanie informacji 239
- Podsumowanie 246
- Związki między klasami 247
- Obiekt kontra klasa 248
- Kompozycja 250
- Agregacja 256
- Podsumowanie 263
- Dziedziczenie 266
- Natura dziedziczenia 267
- Polimorfizm 281
- Czym jest polimorfizm? 281
- Do czego jest potrzebny polimorfizm? 284
- Jak w języku C zaimplementować zachowanie polimorficzne? 285
- Podsumowanie 292
- Abstrakcja 294
- Zorientowane obiektowo konstrukcje w C++ 297
- Hermetyzacja 298
- Dziedziczenie 301
- Polimorfizm 306
- Klasa abstrakcyjna 309
- Podsumowanie 311
- Historia systemu UNIX 314
- Systemy operacyjne Multics i UNIX 314
- Języki BCPL i B 316
- Droga do powstania języka C 317
- Architektura systemu UNIX 318
- Filozofia systemu UNIX 319
- Warstwy systemu UNIX 320
- Interfejs powłoki dla aplikacji użytkownika 323
- Interfejs jądra do warstwy powłoki 327
- Jądro 333
- Sprzęt 337
- Podsumowanie 339
- Wywołania systemowe 342
- Wywołania systemowe pod mikroskopem 342
- Pominięcie standardu C - bezpośrednie wykonanie wywołania systemowego 344
- Wewnątrz funkcji wywołania systemowego 346
- Dodanie nowego wywołania systemowego do systemu Linux 348
- Jądro systemu UNIX 361
- Jądro monolityczne kontra mikrojądro 362
- Linux 364
- Moduły jądra 364
- Podsumowanie 370
- C11 372
- Określenie obsługiwanej wersji standardu języka C 372
- Usunięcie funkcji gets() 374
- Zmiany wprowadzone w funkcji fopen() 374
- Funkcje sprawdzające granice bufora 376
- Funkcja niekończąca działania 377
- Makra typu generycznego 378
- Unicode 378
- Unie i struktury anonimowe 384
- Wielowątkowość 386
- Słowo o standardzie C18 386
- Podsumowanie 386
- Wprowadzenie do współbieżności 390
- Równoległość 391
- Współbieżność 392
- Jednostka zarządcy zadań 393
- Procesy i wątki 395
- Ograniczenie typu "zachodzi wcześniej" 396
- Kiedy należy używać współbieżności 398
- Stan współdzielony 405
- Podsumowanie 410
- Problemy związane ze współbieżnością 412
- Wrodzone problemy ze współbieżnością 413
- Problemy pojawiające się po synchronizacji 423
- Techniki synchronizacji 424
- Techniki busy-waiting i spinlock 425
- Mechanizm uśpienia-powiadomienia 428
- Semafory i muteksy 431
- Wiele jednostek procesora 436
- Blokada typu spinlock 441
- Zmienne warunkowe 442
- Współbieżność w standardzie POSIX 444
- Obsługa współbieżności przez jądro 445
- Wieloprocesowość 447
- Wielowątkowość 450
- Podsumowanie 451
- Wątki 454
- Wątki POSIX 457
- Tworzenie wątków POSIX 458
- Przykład stanu wyścigu 463
- Przykład wyścigu danych 471
- Podsumowanie 474
- Kontrola współbieżności w standardzie POSIX 478
- Muteksy POSIX 478
- Zmienne warunkowe POSIX 481
- Bariery POSIX 485
- Semafory POSIX 487
- Wątki POSIX i pamięć 495
- Pamięć stosu 495
- Pamięć sterty 500
- Widoczność pamięci 504
- Podsumowanie 506
- API wykonywania procesu 507
- Tworzenie procesu 510
- Wykonywanie procesu 515
- Porównanie tworzenia procesu i wykonywania procesu 517
- Procedura wykonania procesu 518
- Stan współdzielony 519
- Techniki współdzielenia 520
- Pamięć współdzielona w standardzie POSIX 522
- System plików 531
- Wielowątkowość kontra wieloprocesowość 534
- Wielowątkowość 534
- Wieloprocesowość w pojedynczym komputerze 535
- Wieloprocesowość rozproszona 535
- Podsumowanie 536
- Kontrola współbieżności w pojedynczym hoście 538
- Nazwane semafory POSIX 539
- Nazwane muteksy 543
- Przykład pierwszy 543
- Przykład drugi 547
- Nazwane zmienne warunkowe 556
- Etap 1. Klasa pamięci współdzielonej 557
- Etap 2. Klasa współdzielonego licznika w postaci 32-bitowej liczby całkowitej 560
- Etap 3. Klasa muteksu współdzielonego 562
- Etap 4. Klasa współdzielonej zmiennej warunkowej 565
- Etap 5. Logika funkcji main() 568
- Kontrola współbieżności rozproszonej 572
- Podsumowanie 574
- Techniki IPC 578
- Protokół komunikacyjny 580
- Cechy charakterystyczne protokołu 582
- Sekwencyjność 584
- Komunikacja w pojedynczym hoście 584
- Deskryptory plików 585
- Sygnały POSIX 585
- Potoki POSIX 589
- Kolejka komunikatów POSIX 592
- Gniazda domeny systemu UNIX 594
- Wprowadzenie do programowania gniazd 595
- Sieci komputerowe 595
- Na czym polega programowanie gniazda? 607
- Podsumowanie 614
- Podsumowanie informacji o programowaniu gniazd 616
- Projekt kalkulatora 618
- Hierarchia kodu źródłowego 619
- Zbudowanie projektu 623
- Uruchomienie projektu 623
- Protokół aplikacji 624
- Biblioteka serializacji i deserializacji 627
- Usługa kalkulatora 632
- Gniazda domeny systemu UNIX 634
- Serwer strumienia UDS 634
- Klient strumienia UDS 641
- Serwer datagramu nasłuchujący na gnieździe UDS 644
- Klient datagramu używającego gniazda UDS 648
- Gniazda sieciowe 650
- Serwer TCP 650
- Klient TCP 652
- Serwer UDP 653
- Klient UDP 654
- Podsumowanie 655
- Dlaczego integracja w ogóle jest możliwa? 658
- Pobranie niezbędnych materiałów 659
- Biblioteka stosu 660
- Integracja z C++ 666
- Dekorowanie nazw w C++ 667
- Kod C++ 669
- Integracja z Javą 673
- Utworzenie kodu w Javie 674
- Przygotowanie części natywnej 679
- Integracja z Pythonem 686
- Integracja z Go 689
- Podsumowanie 692
- Testowanie oprogramowania 696
- Poziomy testowania 697
- Testy jednostkowe 698
- Dublery używane podczas testów 706
- Testowanie komponentu 707
- Biblioteki testowania kodu w C 709
- Framework CMocka 710
- Google Test 718
- Debugowanie 722
- Kategorie błędów 724
- Debugery 724
- Narzędzia profilowania pamięci 726
- Debugery wątków 728
- Narzędzia do profilowania wydajności działania 729
- Podsumowanie 730
- Czym jest system kompilacji? 732
- Make 733
- CMake - to nie jest system kompilacji! 740
- Ninja 745
- Bazel 747
- Porównanie systemów kompilacji 750
- Podsumowanie 750
- Epilog 751
O autorze 11
O recenzentach technicznych 13
Wprowadzenie 15
Rozdział 1. Funkcje podstawowe 23
Rozdział 2. Od kodu źródłowego do pliku binarnego 73
Rozdział 3. Pliki obiektowe 117
Rozdział 4. Struktura pamięci procesu 147
Rozdział 5. Stos i sterta 173
Rozdział 6. Programowanie zorientowane obiektowo i hermetyzacja 211
Rozdział 7. Kompozycja i agregacja 247
Rozdział 8. Dziedziczenie i polimorfizm 265
Rozdział 9. Abstrakcja i programowanie zorientowane obiektowo w C++ 293
Rozdział 10. UNIX - historia i architektura 313
Rozdział 11. Jądro i wywołania systemowe 341
Rozdział 12. Najnowsza wersja C 371
Rozdział 13. Współbieżność 389
Rozdział 14. Synchronizacja 411
Rozdział 15. Wykonywanie wątków 453
Rozdział 16. Synchronizacja wątków 477
Rozdział 17. Wykonywanie procesów 507
Rozdział 18. Synchronizacja procesów 537
Rozdział 19. Gniazda i IPC w pojedynczym hoście 577
Rozdział 20. Programowanie oparte na gniazdach 615
Rozdział 21. Integracja z innymi językami programowania 657
Rozdział 22. Testy jednostkowe i debugowanie 695
Rozdział 23. Systemy kompilacji 731
Oceny i opinie klientów: Ekstremalny kod w języku C. Współbieżność i programowanie zorientowane obiektowo Kamran Amini (3) Weryfikacja opinii następuję na podstawie historii zamówień na koncie Użytkownika umieszczającego opinię. Użytkownik mógł otrzymać punkty za opublikowanie opinii uprawniające do uzyskania rabatu w ramach Programu Punktowego.
(2)
(0)
(0)
(0)
(0)
(1)
więcej opinii