C++
Python, C++, JavaScript. Zadania z programowania
Marek Luliński, Gniewomir Sarbicki
Zadania z programowania? Zbiór programów do napisania! Pascal, C++, JavaScript i Python — oto zbiór języków, które przećwiczysz dzięki zadaniom w tej książce. Każdy z nich ma nieco inne zastosowania, wszystkie zaś są lub będą w najbliższym czasie wykorzystywane na lekcjach informatyki i na egzaminach, a ich zastosowanie w obliczu realnych problemów może wydatnie uprościć Ci życie. Jak najłatwiej i najszybciej nauczyć się programować w tych językach? Oczywiście dzięki ćwiczeniom! Z tą książką napiszesz konkretne programy rozwiązujące zadania numeryczne, logiczne i matematyczne — w każdym z powyższych języków. Z praktycznym zestawem zawartych tu zadań spróbujesz znaleźć permutacje zbioru, zaszyfrować tekst szyfrem Cezara, zbudować trójkąt Pascala i wskazać punkty kratowe wewnątrz koła o promieniu r. Napiszesz według własnego pomysłu programy odpowiadające na postawione w zadaniach pytania. Jeśli jesteś uczniem, będziesz mógł w ten sposób ćwiczyć nie tylko umiejętności programistyczne, lecz także matematyczne. Jeśli jesteś nauczycielem, znajdziesz tu wiele inspiracji dla swoich uczniów. Gotowy pogram będziesz mógł później porównać z rozwiązaniami proponowanymi przez autorów. Dogadaj się z komputerem — w każdym z czterech języków! --- UWAGA: Skala trudności zadań odpowiada poziomowi szkoły średniej.
QGIS Quick Start Guide. A beginner's guide to getting started with QGIS 3.4
Andrew Cutts
QGIS is a user friendly, open source geographic information system (GIS). The popularity of open source GIS and QGIS, in particular, has been growing rapidly over the last few years. This book is designed to help beginners learn about all the tools required to use QGIS 3.4.This book will provide you with clear, step-by-step instructions to help you apply your GIS knowledge to QGIS. You begin with an overview of QGIS 3.4 and its installation. You will learn how to load existing spatial data and create vector data from scratch. You will then be creating styles and labels for maps. The final two chapters demonstrate the Processing toolbox and include a brief investigation on how to extend QGIS. Throughout this book, we will be using the GeoPackage format, and we will also discuss how QGIS can support many different types of data.Finally, you will learn where to get help and how to become engaged with the GIS community.
Zhuo Qingliang
OpenCV and Qt have proven to be a winning combination for developing cross-platform computer vision applications. By leveraging their power, you can create robust applications with both an intuitive graphical user interface (GUI) and high-performance capabilities. This book will help you learn through a variety of real-world projects on image processing, face and text recognition, object detection, and high-performance computing. You’ll be able to progressively build on your skills by working on projects of increasing complexity.You’ll begin by creating an image viewer application, building a user interface from scratch by adding menus, performing actions based on key-presses, and applying other functions. As you progress, the book will guide you through using OpenCV image processing and modification functions to edit an image with filters and transformation features. In addition to this, you’ll explore the complex motion analysis and facial landmark detection algorithms, which you can use to build security and face detection applications. Finally, you’ll learn to use pretrained deep learning models in OpenCV and GPUs to filter images quickly. By the end of this book, you will have learned how to effectively develop full-fledged computer vision applications with OpenCV and Qt.
Lee Zhi Eng
With the growing need to develop GUIs for multiple targets and multiple screens, improving the visual quality of your application becomes important so that it stands out from your competitors. With its cross-platform ability and the latest UI paradigms, Qt makes it possible to build intuitive, interactive, and user-friendly user interfaces for your applications.Qt5 C++ GUI Programming Cookbook, Second Edition teaches you how to develop functional and appealing user interfaces using the latest version of QT5 and C++. This book will help you learn a variety of topics such as GUI customization and animation, graphics rendering, implementing Google Maps, and more. You will also be taken through advanced concepts like asynchronous programming, event handling using signals and slots, network programming, various aspects of optimizing your application. By the end of the book, you will be confident to design and customize GUI applications that meet your clients' expectations and have an understanding of best practice solutions for common problems.
Srinjoy Ganguly, Thomas Cambier
Quantum computing is a growing field, with many research projects focusing on programming quantum computers in the most efficient way possible. One of the biggest challenges faced with existing languages is that they work on low-level circuit model details and are not able to represent quantum programs accurately. Developed by researchers at ETH Zurich after analyzing languages including Q# and Qiskit, Silq is a high-level programming language that can be viewed as the C++ of quantum computers! Quantum Computing with Silq Programming helps you explore Silq and its intuitive and simple syntax to enable you to describe complex tasks with less code. This book will help you get to grips with the constructs of the Silq and show you how to write quantum programs with it. You’ll learn how to use Silq to program quantum algorithms to solve existing and complex tasks. Using quantum algorithms, you’ll also gain practical experience in useful applications such as quantum error correction, cryptography, and quantum machine learning. Finally, you’ll discover how to optimize the programming of quantum computers with the simple Silq.By the end of this Silq book, you’ll have mastered the features of Silq and be able to build efficient quantum applications independently.
Robot Operating System Cookbook. Over 70 recipes to help you master advanced ROS concepts
Kumar Bipin
This book will leverage the power of ROS with an introduction to its core and advanced concepts through exciting recipes. You will get acquainted with the use of different synchronous and asynchronous communication methods, including messages, services, and actions. You will learn how to use the various debugging and visualization tools used in development and how to interface sensors and actuators with the ROS framework.Firstly, you will get to grips with ROS simulation frameworks, such as Gazebo and RotorS for modeling and simulating any physical robot and virtual environment. You will also cover mobile robotics, micro-aerial vehicles, and robotic arms, which are the leading branches of robotic applications. Robot Operating System Cookbook will also guide you in the development of an autonomous navigation framework for both mobile robots and micro-aerial vehicles.Finally, you will explore ROS-Industrial, an open source project that extends the advanced capabilities of ROS software to manufacturing industries.
Ramkumar Gandhinathan, Lentin Joseph
Nowadays, heavy industrial robots placed in workcells are being replaced by new age robots called cobots, which don't need workcells. They are used in manufacturing, retail, banks, energy, and healthcare, among other domains. One of the major reasons for this rapid growth in the robotics market is the introduction of an open source robotics framework called the Robot Operating System (ROS).This book covers projects in the latest ROS distribution, ROS Melodic Morenia with Ubuntu Bionic (18.04). Starting with the fundamentals, this updated edition of ROS Robotics Projects introduces you to ROS-2 and helps you understand how it is different from ROS-1. You'll be able to model and build an industrial mobile manipulator in ROS and simulate it in Gazebo 9. You'll then gain insights into handling complex robot applications using state machines and working with multiple robots at a time. This ROS book also introduces you to new and popular hardware such as Nvidia's Jetson Nano, Asus Tinker Board, and Beaglebone Black, and allows you to explore interfacing with ROS. You'll learn as you build interesting ROS projects such as self-driving cars, making use of deep learning, reinforcement learning, and other key AI concepts.By the end of the book, you'll have gained the confidence to build interesting and intricate projects with ROS.
Ivo Balbaert
Rust is the new, open source, fast, and safe systems programming language for the 21st century, developed at Mozilla Research, and with a steadily growing community. It was created to solve the dilemma between high-level, slow code with minimal control over the system, and low-level, fast code with maximum system control. It is no longer necessary to learn C/C++ to develop resource intensive and low-level systems applications. This book will give you a head start to solve systems programming and application tasks with Rust.We start off with an argumentation of Rust's unique place in today's landscape of programming languages. You'll install Rust and learn how to work with its package manager Cargo. The various concepts are introduced step by step: variables, types, functions, and control structures to lay the groundwork. Then we explore more structured data such as strings, arrays, and enums, and you’ll see how pattern matching works.Throughout all this, we stress the unique ways of reasoning that the Rust compiler uses to produce safe code. Next we look at Rust's specific way of error handling, and the overall importance of traits in Rust code. The pillar of memory safety is treated in depth as we explore the various pointer kinds. Next, you’ll see how macros can simplify code generation, and how to compose bigger projects with modules and crates. Finally, you’ll discover how we can write safe concurrent code in Rust and interface with C programs, get a view of the Rust ecosystem, and explore the use of the standard library.
Rust High Performance. Learn to skyrocket the performance of your Rust applications
Iban Eguia Moraza
This book teaches you how to optimize the performance of your Rust code so that it is at the same level as languages such as C/C++. You'll understand and fi x common pitfalls, learn how to improve your productivity by using metaprogramming, and speed up your code. You will master the features of the language, which will make you stand out, and use them to greatly improve the efficiency of your algorithms. The book begins with an introduction to help you identify bottlenecks when programming in Rust. We highlight common performance pitfalls, along with strategies to detect and resolve these issues early. We move on to mastering Rust's type system, which will enable us to optimize both performance and safety at compile time. You will learn how to effectively manage memory in Rust, mastering the borrow checker. We move on to measuring performance and you will see how this affects the way you write code. Moving forward, you will perform metaprogramming in Rust to boost the performance of your code and your productivity. Finally, you will learn parallel programming in Rust, which enables efficient and faster execution by using multithreading and asynchronous programming.
Scott Meyers
Do opanowania języków C++11 i C++14 nie wystarcza zapoznanie się z wprowadzonymi w nich funkcjonalnościami (np. deklaracjami typu auto, semantyką operacji move, wyrażeniami lambda i obsługą współbieżności). Sztuką jest nauczenie się korzystania z tych funkcjonalności skutecznie tak, aby programy były poprawne, wydajne, łatwe w utrzymaniu i przenośne. Pomocna w tym będzie niniejsza książka, w której został opisany sposób tworzenia wspaniałego oprogramowania przy użyciu standardów C++11 i C++14 tj. nowoczesnego języka C++. Tematy: Zalety i wady inicjalizacji klamrowej, specyfikacji noexcept, technik doskonałego przekazywania argumentów oraz funkcji make służących do tworzenia wskaźników inteligentnych Związki między std::move, std::forward, odwołaniami do r-wartości i odwołaniami uniwersalnymi Techniki pisania czytelnych, poprawnych i skutecznych wyrażeń lambda Różnice między std::atomic a volatile, zalecane sposoby użycia każdej z tych deklaracji oraz ich związek z interfejsem API współbieżności w języku C++ Zmiany najlepszych rozwiązań znanych ze starego języka C++ (tj. C++98) wymagane podczas tworzenia oprogramowania w nowoczesnym języku C++ Książka Skuteczny nowoczesny C++ jest napisana zgodnie z wypróbowanym, opartym na wskazówkach i przykładach stylem wcześniejszych książek Scotta Meyersa, ale dotyczy całkowicie nowego materiału. Jest ważną pozycją dla każdego nowoczesnego twórcy oprogramowania w języku C++. Przed ponad 20 laty książki Scotta Meyersa z serii Effective C++ (Effective C++, More Effective C++ i Effective STL) wyznaczyły poziom odniesienia dla wskazówek dotyczących programowania w języku C++. Jego jasne, ujmujące wyjaśnienie skomplikowanego technicznego materiału przyniosły mu światową sławę, dzięki której stał się popularnym trenerem, konsultantem i prezenterem konferencyjnym. Scott Meyers zyskał tytuł doktora informatyki na uniwersytecie Brown. Kiedy już zapoznałem się z podstawami języka C++, sposobów programowania kodu produkcyjnego w tym języku nauczyłem się z serii książek Meyersa Effective C++. Książka Skuteczny nowoczesny C++ jest najważniejszym podręcznikiem dotyczącym istotnych wytycznych, stylów i idiomów przydatnych do skutecznego i dobrego stosowania nowoczesnego języka C++. Nie masz jej jeszcze? Kup ją. Teraz. Herb Sutter Przewodniczący komitetu standaryzacyjnego ISO C++ oraz architekt oprogramowania C++ w firmie Microsoft t
Andrey Gavrilin, Adrian Ostrowski, Piotr Gaczkowski
Designing scalable and maintainable software with C++ requires more than language expertise—it demands strong architectural thinking. This practical guide equips you with the skills to design and build robust, distributed systems using modern C++.Starting with fundamental architectural principles and design philosophies, the book walks you through practical approaches to designing and deploying reliable systems. This edition contains significant updates across the book, including new chapters on observability, package management, and C++ modules to address real-world software challenges. You will explore software decomposition strategies, design and system patterns, fault tolerance, API management, and testability—all applied with C++.Additionally, the book covers modern CI/CD pipelines, cloud-native design, microservices, and modular development, helping developers navigate today's fast-evolving software landscape. With updated examples and a renewed emphasis on maintainable and observable architectures, this edition equips C++ professionals to architect modern systems. By the end of this book, you will be able to design, build, test, and deploy well-architected solutions using modern C++ and proven architectural techniques.*Email sign-up and proof of purchase required
Symulacje komputerowe w fizyce. Wydanie II
Maciej Matyka
Symulacje komputerowe - od podstaw! Poznaj metody numeryczne Naucz się stosować je w praktyce Odkryj świat symulacji komputerowych Ostatnie kilkadziesiąt lat to okres burzliwego rozwoju technologii informatycznych i ciągłego zwiększania możliwości komputerów dostępnych dla coraz to szerszych rzesz użytkowników. Z zaawansowanych narzędzi graficznych i symulacyjnych mogą obecnie korzystać już nie tylko profesjonaliści zatrudnieni w dużych korporacjach dysponujących ogromnymi zasobami finansowymi, lecz również pasjonaci, programiści i graficy pracujący dla niewielkich firm, które tworzą animacje komputerowe na użytek przemysłu czy branży rozrywkowej. Realistyczne, uniwersalne i interaktywne efekty można tu uzyskać tylko w jeden sposób: wykorzystując fizyczne metody symulacji ruchu, do tego zaś niezbędna jest odpowiednia wiedza. Drugie wydanie książki Symulacje komputerowe w fizyce wprowadzi Cię w podstawy metod numerycznych oraz przedstawi ich zastosowanie w praktyce. Dowiesz się, jak przeprowadzać symulacje prostych i bardziej złożonych zjawisk fizycznych, rozwiązywać równanie falowe oraz symulować zachowanie cieczy nieściśliwych i gazów, a nawet wkroczysz w tajemniczy świat fizyki kwantowej. Symulacja flagi trzepoczącej na wietrze, miękkiej piłki odbijającej się od powierzchni czy oporu, który powietrze stawia jadącemu samochodowi? Przekonasz się, że to nic trudnego! Książka jest przeznaczona zarówno dla studentów, jak i uczniów starszych klas szkół średnich, dla których może stanowić wstęp do praktycznego programowania symulacji i modelowania fizycznego w animacji komputerowej. Pozycja szczególnie zainteresuje studentów oraz kadrę dydaktyczną kierunków ścisłych, na przykład wykładowców modelowania komputerowego czy fizyki komputerowej, dla których może być punktem wyjścia do dalszego zgłębiania przedstawionych modeli. Do książki dołączony jest zbiór napisanych w językach C++, OpenGL oraz HTML5 programów, które ilustrują sposób przeprowadzania opisanych symulacji. Symulacje zjawisk mechaniki klasycznej Dynamika ciał miękkich w czasie rzeczywistym Rozwiązanie numeryczne równania falowego Symulacje dynamiki płynów (CFD) Rozwiązanie numeryczne równania SchrOdingera Poznaj metody numeryczne od podszewki!
Tablice informatyczne. Algorytmy
Piotr Wróblewski
Cała wiedza w jednym miejscu! Nie pamiętasz jakiegoś algorytmu? Nie wiesz, jaką strukturę danych należy zastosować? Nie masz pojęcia, jak wyznaczyć złożoność obliczeniową algorytmu? Nie martw się, Twoje problemy należą już do przeszłości! Tablice informatyczne. Algorytmy pozwolą Ci szybko odnaleźć i przypomnieć sobie podstawowe zagadnienia dotyczące algorytmów i ich zastosowania. Będą doskonałą ściągą na wykładach lub laboratoriach, a nawet w pracy. Przykłady opracowane w C++ lub pseudokodzie pomogą właściwie zrozumieć i wdrożyć odpowiednie rozwiązania. Podstawowe pojęcia Złożoność obliczeniowa Algorytmy rekurencyjne Wyszukiwanie i sortowanie Typy i struktury danych Grafy i algorytmy grafowe Systemy liczbowe Kodowanie i kompresja Algorytmika nigdy nie była prostsza!
Tablice informatyczne. C++. Wydanie II
Andrzej Stasiewicz
Koniec z wertowaniem książek i dokumentacji w poszukiwaniu składni poleceń, typów danych czy struktur języka. W tablicach informatycznych znajdziesz wszystkie podstawowe informacje, których potrzebujesz podczas codziennej pracy, podane w sposób zwięzły i treściwy. Składnia poleceń, struktura programu, funkcje i metody, obiekty, typy danych -- jest tu wszystko, nad czym mógłbyś się zastanawiać. "Tablice informatyczne. C++" zawierają zestawienie najpotrzebniejszych informacji dotyczących języka C++. Każdy programista doceni je, gdy podczas pracy nie będzie miał czasu na wertowanie kilkunastu książek. W Tablicach uwzględniono najważniejsze propozycje nowego standardu języka C++ i przedstawiono następujące zagadnienia: Dyrektywy dla kompilatora Standardowe wejście i wyjście Standardowe typy danych i operacje na nich Instrukcje sterujące Funkcje Klasy Konwersje typów Wyjątki Wzorce funkcji i klas Wzorzec biblioteczny vector
Tablice informatyczne. Podstawy C++
Radosław Sokół
Koduj w C++ i miej ściągę zawsze przy sobie! C++ to język tak fantastyczny i powszechnie doceniany, że nikomu nie trzeba przypominać o jego zaletach. Jeśli posługujesz się tym językiem albo chcesz zacząć w nim programować, koniecznie musisz zaopatrzyć się w tablice informatyczne z najważniejszymi poleceniami C++. Znajdziesz w nich typy danych, modyfikatory, literały i typy wyliczeniowe. Będziesz mógł łatwo odnaleźć wskaźniki i referencje oraz asercje statyczne. Przypomnisz sobie, na czym polegają: iterowanie kolekcji danych i rzutowanie typów danych. Odświeżysz wiadomości o podprogramach, dynamicznym gospodarowaniu pamięcią operacyjną i przestrzeni nazw. Od tej chwili zawsze pod ręką będziesz mieć ważne informacje dotyczące zastosowania klas, obiektów i operatorów, programowania uogólnionego i sytuacji wyjątkowych. Ułatw sobie pracę i połóż na biurku Tablice informatyczne. Podstawy C++. Tablice informatyczne — Twój sposób na unikanie błędów!
Rainer Grimm
Standard template library enables programmers to speed up application development using the built-in data structures and algorithms in their codes. The C++ Standard Library is a comprehensive guide to the updated library of classes, algorithms, functions, iterators, and containers and serves as the best reference to the current C++ 17 standard. Starting with the introduction and history of the standard library, this book goes on to demonstrate how quickly you can manipulate various C++ template classes while writing your applications. You'll also learn in detail the four types of STL components. Then you'll discover the best methods to analyze or modify a string. You'll also learn how to make your application communicate with the outside world using input and output streams and how to use the non-owning string objects with regular strings. By the end of this book, you'll be able to take your programming skills to a higher level by leveraging the standard C++ libraries.
Dale Green, Kurt Guntheroth, Shaun Ross Mitchell
C++ is the backbone of many games, GUI-based applications, and operating systems. Learning C++ effectively is more than a matter of simply reading through theory, as the real challenge is understanding the fundamentals in depth and being able to use them in the real world. If you're looking to learn C++ programming efficiently, this Workshop is a comprehensive guide that covers all the core features of C++ and how to apply them. It will help you take the next big step toward writing efficient, reliable C++ programs.The C++ Workshop begins by explaining the basic structure of a C++ application, showing you how to write and run your first program to understand data types, operators, variables and the flow of control structures. You'll also see how to make smarter decisions when it comes to using storage space by declaring dynamic variables during program runtime.Moving ahead, you'll use object-oriented programming (OOP) techniques such as inheritance, polymorphism, and class hierarchies to make your code structure organized and efficient. Finally, you'll use the C++ standard library?s built-in functions and templates to speed up different programming tasks.By the end of this C++ book, you will have the knowledge and skills to confidently tackle your own ambitious projects and advance your career as a C++ developer.
The Modern C++ Challenge. Become an expert programmer by solving real-world problems
Marius Bancila, Scott Meyers
C++ is one of the most widely-used programming languages and has applications in a variety of fields, such as gaming, GUI programming, and operating systems, to name a few. Through the years, C++ has evolved into (and remains) one of the top choices for software developers worldwide. This book will show you some notable C++ features and how to implement them to meet your application needs. Each problem is unique and doesn't just test your knowledge of the language; it tests your ability to think out of the box and come up with the best solutions. With varying levels of difficulty, you'll be faced with a wide variety of challenges. And in case you're stumped, you don't have to worry: we've got the best solutions to the problems in the book. So are you up for the challenge?
John P. Doran, Alan Zucconi
Since their introduction to Unity, shaders have been seen as notoriously difficult to understand and implement in games. Complex mathematics has always stood in the way of creating your own shaders and attaining the level of realism you crave.Unity 2018 Shaders and Effects Cookbook changes that by giving you a recipe-based guide to creating shaders using Unity. It will show you everything you need to know about vectors, how lighting is constructed with them, and how textures are used to create complex effects without the heavy math.This book starts by teaching you how to use shaders without writing code with the post-processing stack. Then, you’ll learn how to write shaders from scratch, build up essential lighting, and finish by creating stunning screen effects just like those in high-quality 3D and mobile games. You'll discover techniques, such as normal mapping, image-based lighting, and animating your models inside a shader. We'll explore how to use physically based rendering to treat light the way it behaves in the real world. At the end, we’ll even look at Unity 2018’s new Shader Graph system.With this book, what seems like a dark art today will be second nature by tomorrow.
Rachel Cordone
Unreal Engine is a popular game engine used by developers for building high-end 2D and 3D games. This book is a practical guide designed to help you get started with Unreal Engine 4 and confidently develop interactive games.You’ll begin with a quick introduction to the Unreal Engine 4 (UE4) ecosystem. Next, you’ll learn how to create Blueprints and C++ code to define your game's functionality. As you progress, you’ll cover the core systems of UE4 such as Unreal Motion Graphics (UMG), Animation Blueprints, and behaviour trees to further build on your game development knowledge. The concluding chapters will then help you learn how to use replication to create multiplayer games.By the end of this book, you will be well-versed with UE4 and have developed the skills you need to use the framework for developing and deploying robust and intuitive games.
Zhenyu George Li, Dr. E. Wyn Roberts
Unreal Engine is one of the most popular and accessible game engines in the industry, creating multiple job opportunities. Owing to C++ scripting's high performance, advanced algorithms, and engineering maintenance, it has become the industry standard for developing commercial games. However, C++ scripting can be overwhelming for anyone without a programming background. Unreal Engine 5 Game Development with C++ Scripting will help you master C++ and get a head start on your game development journey.You’ll start by creating an Unreal Engine C++ project from the shooter template and then move on to building the C++ project and the C++ code inside the Visual Studio editor. You’ll be introduced to the fundamental C++ syntax and essential object-oriented programming concepts. For a holistic understanding of game development, you’ll also uncover various aspects of the game, including character creation, player input and character control, gameplay, collision detection, UI, networking, and packaging a completed multiplayer game.By the end of this book, you’ll be well-equipped to create professional, high-quality games using Unreal Engine 5 with C++, and will have built a solid foundation for more advanced C++ programming and game development technologies.
Jessica Plowman
With the ability to put players directly in the game, virtual reality gives users the chance to experience digital worlds directly. Nevertheless, many designers are unsure where to start when working with this amazing technology.With this book, you will learn user experience design processes and create immersive gameplay experiences designed for entertainment and player comfort. Using the power of Unreal Engine 4’s Blueprint visual scripting language, you will build player interaction and locomotion systems from scratch and use these flexible systems to create a sample game, as well as develop functional 2D and 3D user interfaces for players to interact with. And also learn the best practices for creating game art for virtual reality. Finally, you will learn how to test your application with your target audience and finalize your game for distribution.By the end of this book, you will have the knowledge to be able to make the leap from traditional game development to creating immersive virtual reality experiences using Unreal Engine 4.
USB. Praktyczne programowanie z Windows API w C++
Andrzej Daniluk
Dowiedz się więcej o działaniu USB i poznaj metody programowania transmisji danych W jaki sposób odbywa się transfer danych? Jak odblokować urządzenia do transmisji? Na czym polega programowanie obiektowe transmisji USB? USB (skrót od ang. Universal Serial Bus -- uniwersalna magistrala szeregowa) to rodzaj bardzo praktycznego portu komunikacyjnego, dzięki któremu możliwe jest podłączanie do komputera wielu różnych urządzeń, takich jak mysz, kamera, aparat fotograficzny, telefon komórkowy, modem, skaner, przenośna pamięć. Podłączone w ten sposób urządzenia są od razu wykrywane i rozpoznawane przez system, dzięki czemu instalacja sterowników i konfiguracja sprzętu odbywają się zwykle automatycznie. Książka "USB. Praktyczne programowanie z Windows API w C++" w zwięzły sposób przedstawia wszelkie zagadnienia, dotyczące użytkowania i programowania transmisji USB. Korzystając z tego podręcznika, poznasz nie tylko teoretyczne podstawy działania USB, ale także zdobędziesz praktyczne umiejętności w tym zakresie. Książka zawiera bowiem zarówno konkretne przykłady, jak i ćwiczenia do samodzielnego wykonania dla wszystkich, którzy chcą zyskać wiedzę na zaawansowanym poziomie. Dowiesz się między innymi, jakie są rodzaje transferów danych i transakcji USB, za co odpowiadają komponenty i jak wykorzystać wzorce projektowe. Zrozumiesz także metody projektowania obiektowego oraz implementacji oprogramowania sterującego łączem USB. Środowisko fizyczne i sygnałowe USB Klasy instalacji urządzeń Rejestr systemowy Transmisja danych Struktura systemu USB Detekcja i identyfikacja urządzeń Odczyt i zapis danych w formie raportu Programowanie obiektowe transmisji USB Wewnętrzne struktury danych Programy wielowątkowe Konwertery USB Tu znajdziesz wszystko o działaniu USB i możliwościach jego wykorzystania!
USB. Praktyczne programowanie z Windows API w C++. Wydanie II
Andrzej Daniluk
USB dobre na wszystko — wykorzystaj jego moc! Standardy USB 2.0 i 3.0 oraz połączone urządzenia, czyli sprzętowa podstawa transmisji danych Transmisja danych w standardzie USB, czyli komunikacja i współdziałanie zasobów systemowych różnych urządzeń Biblioteki i programy wielowątkowe, czyli szczegółowe aspekty programowania transmisji danych w USB Mniej więcej pod koniec lat 90. standard USB utrwalił się w świadomości użytkowników komputerów na całym świecie i stał się dla nich jednym z najwygodniejszych narzędzi zapewniających komunikację oraz wymianę danych między urządzeniami. Liczba gniazd USB, do których można podłączyć dosłownie wszystko — mysz, pendrive’a, dysk zewnętrzny czy kartę sieciową — stała się jednym z ważnych kryteriów przy zakupie nowego komputera, a czołowi wytwórcy ani myślą zastępować go czymkolwiek innym. Jednak USB ma także swoje wady. Zalicza się do nich konieczność używania bardziej złożonego sprzętu i oprogramowania w porównaniu ze starszymi protokołami transmisji danych. Te kłopoty pomoże Ci rozwiązać niniejsza książka, o ile nieobcy jest Ci język C/C++ w zakresie programowania strukturalnego i proceduralnego. Pokaże Ci ona całą architekturę standardu USB oraz implikacje jego stosowania dla różnych urządzeń. Dzięki niej poznasz także podstawy zasad programowania transmisji USB z wykorzystaniem zasobów systemów operacyjnych Windows oraz współistniejących bibliotek programistycznych. W dodatku autor tego wyczerpującego podręcznika nie poprzestaje na suchym wyliczeniu typów danych czy funkcji, lecz zamieszcza mnóstwo wskazówek dotyczących konkretnych, działających aplikacji. Jeśli myślisz o programowaniu transmisji danych w USB, nie znajdziesz nic lepszego! Standardy bazowe USB 2.0 oraz 3.0 Informacje o urządzeniach Wstęp do transmisji danych Urządzenia klasy HID Detekcja i identyfikacja różnych klas urządzeń dołączonych do magistrali USB Odblokowanie urządzenia do transmisji Odczyt i zapis danych Biblioteki WinUSB oraz LibUSB Podstawy programowania obiektowego transmisji USB Wewnętrzne struktury danych Podstawy programowania wielowątkowego transmisji USB Adaptery USB Poznaj jeden z najpopularniejszych standardów wszech czasów!