EBookClubs

Read Books & Download eBooks Full Online

EBookClubs

Read Books & Download eBooks Full Online

Book Modern CMake for C

    Book Details:
  • Author : Rafal Swidzinski
  • Publisher : Packt Publishing Ltd
  • Release : 2022-02-28
  • ISBN : 1801071659
  • Pages : 460 pages

Download or read book Modern CMake for C written by Rafal Swidzinski and published by Packt Publishing Ltd. This book was released on 2022-02-28 with total page 460 pages. Available in PDF, EPUB and Kindle. Book excerpt: Write comprehensive, professional-standard CMake projects and ensure the quality and simplicity of your solutions Purchase of the print or Kindle book includes a free eBook in the PDF format Key FeaturesUnderstand and automate compilation and linking with CMakeManage internal and external dependencies easilyAdd quality checks and tests as an inherent step for your buildsBook Description Creating top-notch software is an extremely difficult undertaking. Developers researching the subject have difficulty determining which advice is up to date and which approaches have already been replaced by easier, better practices. At the same time, most online resources offer limited explanation, while also lacking the proper context and structure. This book offers a simpler, more comprehensive, experience as it treats the subject of building C++ solutions holistically. Modern CMake for C++ is an end-to-end guide to the automatization of complex tasks, including building, testing, and packaging. You'll not only learn how to use the CMake language in CMake projects, but also discover what makes them maintainable, elegant, and clean. The book also focuses on the structure of source directories, building targets, and packages. As you progress, you'll learn how to compile and link executables and libraries, how those processes work, and how to optimize builds in CMake for the best results. You'll understand how to use external dependencies in your project – third-party libraries, testing frameworks, program analysis tools, and documentation generators. Finally, you'll get to grips with exporting, installing, and packaging for internal and external purposes. By the end of this book, you'll be able to use CMake confidently on a professional level. What you will learnUnderstand best practices for building C++ codeGain practical knowledge of the CMake language by focusing on the most useful aspectsUse cutting-edge tooling to guarantee code quality with the help of tests and static and dynamic analysisDiscover how to manage, discover, download, and link dependencies with CMakeBuild solutions that can be reused and maintained in the long termUnderstand how to optimize build artifacts and the build process itselfWho this book is for The book is for build engineers and software developers with knowledge of C/C++ programming who are looking to learn CMake to automate the process of building small and large software solutions. If you are someone who's just getting started with CMake, a long-time GNU Make user, or simply looking to brush up on the latest best practices, this book is for you.

Book CMake Cookbook

    Book Details:
  • Author : Radovan Bast
  • Publisher : Packt Publishing Ltd
  • Release : 2018-09-26
  • ISBN : 1788472349
  • Pages : 600 pages

Download or read book CMake Cookbook written by Radovan Bast and published by Packt Publishing Ltd. This book was released on 2018-09-26 with total page 600 pages. Available in PDF, EPUB and Kindle. Book excerpt: Learn CMake through a series of task-based recipes that provide you with practical, simple, and ready-to-use CMake solutions for your code Key FeaturesLearn to configure, build, test, and package software written in C, C++, and FortranProgress from simple to advanced tasks with examples tested on Linux, macOS, and WindowsManage code complexity and library dependencies with reusable CMake building blocksBook Description CMake is cross-platform, open-source software for managing the build process in a portable fashion. This book features a collection of recipes and building blocks with tips and techniques for working with CMake, CTest, CPack, and CDash. CMake Cookbook includes real-world examples in the form of recipes that cover different ways to structure, configure, build, and test small- to large-scale code projects. You will learn to use CMake's command-line tools and master modern CMake practices for configuring, building, and testing binaries and libraries. With this book, you will be able to work with external libraries and structure your own projects in a modular and reusable way. You will be well-equipped to generate native build scripts for Linux, MacOS, and Windows, simplify and refactor projects using CMake, and port projects to CMake. What you will learnConfigure, build, test, and install code projects using CMakeDetect operating systems, processors, libraries, files, and programs for conditional compilationIncrease the portability of your codeRefactor a large codebase into modules with the help of CMakeBuild multi-language projectsKnow where and how to tweak CMake configuration files written by somebody elsePackage projects for distributionPort projects to CMakeWho this book is for If you are a software developer keen to manage build systems using CMake or would like to understand and modify CMake code written by others, this book is for you. A basic knowledge of C++, C, or Fortran is required to understand the topics covered in this book.

Book CMake Best Practices

    Book Details:
  • Author : Dominik Berner
  • Publisher : Packt Publishing Ltd
  • Release : 2022-05-27
  • ISBN : 1803244240
  • Pages : 406 pages

Download or read book CMake Best Practices written by Dominik Berner and published by Packt Publishing Ltd. This book was released on 2022-05-27 with total page 406 pages. Available in PDF, EPUB and Kindle. Book excerpt: Explore a compendium of tips, tricks, and techniques for leveraging CMake and empowering your software development workflow. Key Features • Understand what CMake is, how it works, and how to interact with it • Discover how to properly create and maintain well-structured CMake projects • Explore tools and techniques to get the most out of your CMake project Book Description CMake is a powerful tool used to perform a wide variety of tasks, so finding a good starting point for learning CMake is difficult. This book cuts to the core and covers the most common tasks that can be accomplished with CMake without taking an academic approach. While the CMake documentation is comprehensive, it is often hard to find good examples of how things fit together, especially since there are lots of dirty hacks and obsolete solutions available on the internet. This book focuses on helping you to tie things together and create clean and maintainable projects with CMake. You'll not only get to grips with the basics but also work through real-world examples of structuring large and complex maintainable projects and creating builds that run in any programming environment. You'll understand the steps to integrate and automate various tools for improving the overall software quality, such as testing frameworks, fuzzers, and automatic generation of documentation. And since writing code is only half of the work, the book also guides you in creating installers and packaging and distributing your software. All this is tailored to modern development workflows that make heavy use of CI/CD infrastructure. By the end of this CMake book, you'll be able to set up and maintain complex software projects using CMake in the best way possible. What you will learn • Get to grips with architecting a well-structured CMake project • Modularize and reuse CMake code across projects • Integrate various tools for static analysis, linting, formatting, and documentation into a CMake project • Get hands-on with performing cross-platform builds • Discover how you can easily use different toolchains with CMake • Get started with crafting a well-defined and portable build environment for your project Who this book is for This book is for software engineers and build system maintainers working with C or C++ on a regular basis and trying to use CMake to better effect for their everyday tasks. Basic C++ and general programming knowledge will help you to better understand the examples covered in the book.

Book Modern C   for Absolute Beginners

Download or read book Modern C for Absolute Beginners written by Slobodan Dmitrović and published by Apress. This book was released on 2020-08-16 with total page pages. Available in PDF, EPUB and Kindle. Book excerpt: Learn the basics of the modern C++ programming language from scratch, including the C++11 to C++20 standards, no experience necessary. You’ll work with expressions and statements, variables, libraries, arguments, classes, functions, memory handling, and much more.Each section is filled with real-world examples and advice on how to avoid common mistakes. Modern C++ for Absolute Beginners will teach you more than just programming in C++20. It will provide you with a set of C++ skills, which will serve you if you ever decide to deepen your knowledge in C++, computer science, or learn more about advanced C++ techniques. The author will take you through the C++ programming language, the Standard Library, and the C++11 to C++20 standard basics. Each chapter is accompanied by the right amount of theory and plenty of source code examples. You will work with C++20 features and standards, yet you will also compare and take a look into previous versions of C++. You will do so with plenty of examples and real code writing to gain an even better level of understanding. What You Will Learn Use the basics of C++: types, operators, variables, constants, expressions, references, functions, classes, I/O, smart pointers, polymorphism, and more Set up the Visual Studio development environment where you can write your own code Declare and define functions, classes, and objects Discover object-oriented programming: classes and objects, encapsulation, inheritance, polymorhism, and more using the most advanced C++ features Employ best practices in organizing source code, controlling program workflow, C++ language dos and donts, and more Program using lambda, modules, inheritance, polymorphism, smart pointers, templates, contracts, STL, concepts, and exceptions Who This Book Is For Beginner or novice programmers who wish to learn C++ programming. No prior programming experience is required.

Book LLVM Techniques  Tips  and Best Practices Clang and Middle End Libraries

Download or read book LLVM Techniques Tips and Best Practices Clang and Middle End Libraries written by Min-Yih Hsu and published by Packt Publishing Ltd. This book was released on 2021-04-22 with total page 370 pages. Available in PDF, EPUB and Kindle. Book excerpt: Learn how you can build the next big programming language, compiler, or source code analyzer using LLVM and Clang Key FeaturesExplore Clang, LLVM’s middle-end and backend, in a pragmatic wayDevelop your LLVM skillset and get to grips with a variety of common use casesEngage with real-world LLVM development through various coding examplesBook Description Every programmer or engineer, at some point in their career, works with compilers to optimize their applications. Compilers convert a high-level programming language into low-level machine-executable code. LLVM provides the infrastructure, reusable libraries, and tools needed for developers to build their own compilers. With LLVM’s extensive set of tooling, you can effectively generate code for different backends as well as optimize them. In this book, you’ll explore the LLVM compiler infrastructure and understand how to use it to solve different problems. You’ll start by looking at the structure and design philosophy of important components of LLVM and gradually move on to using Clang libraries to build tools that help you analyze high-level source code. As you advance, the book will show you how to process LLVM IR – a powerful way to transform and optimize the source program for various purposes. Equipped with this knowledge, you’ll be able to leverage LLVM and Clang to create a wide range of useful programming language tools, including compilers, interpreters, IDEs, and source code analyzers. By the end of this LLVM book, you’ll have developed the skills to create powerful tools using the LLVM framework to overcome different real-world challenges. What you will learnFind out how LLVM’s build system works and how to reduce the building resourceGet to grips with running custom testing with LLVM’s LIT frameworkBuild different types of plugins and extensions for ClangCustomize Clang’s toolchain and compiler flagsWrite LLVM passes for the new PassManagerDiscover how to inspect and modify LLVM IRUnderstand how to use LLVM’s profile-guided optimizations (PGO) frameworkCreate custom compiler sanitizersWho this book is for This book is for software engineers of all experience levels who work with LLVM. If you are an academic researcher, this book will help you learn useful LLVM skills in a short time and enable you to build your prototypes and projects quickly. Programming language enthusiasts will also find this book useful for building a new programming language with the help of LLVM.

Book Software Architecture with C

Download or read book Software Architecture with C written by Adrian Ostrowski and published by Packt Publishing Ltd. This book was released on 2021-04-23 with total page 522 pages. Available in PDF, EPUB and Kindle. Book excerpt: Apply business requirements to IT infrastructure and deliver a high-quality product by understanding architectures such as microservices, DevOps, and cloud-native using modern C++ standards and features Key FeaturesDesign scalable large-scale applications with the C++ programming languageArchitect software solutions in a cloud-based environment with continuous integration and continuous delivery (CI/CD)Achieve architectural goals by leveraging design patterns, language features, and useful toolsBook Description Software architecture refers to the high-level design of complex applications. It is evolving just like the languages we use, but there are architectural concepts and patterns that you can learn to write high-performance apps in a high-level language without sacrificing readability and maintainability. If you're working with modern C++, this practical guide will help you put your knowledge to work and design distributed, large-scale apps. You'll start by getting up to speed with architectural concepts, including established patterns and rising trends, then move on to understanding what software architecture actually is and start exploring its components. Next, you'll discover the design concepts involved in application architecture and the patterns in software development, before going on to learn how to build, package, integrate, and deploy your components. In the concluding chapters, you'll explore different architectural qualities, such as maintainability, reusability, testability, performance, scalability, and security. Finally, you will get an overview of distributed systems, such as service-oriented architecture, microservices, and cloud-native, and understand how to apply them in application development. By the end of this book, you'll be able to build distributed services using modern C++ and associated tools to deliver solutions as per your clients' requirements. What you will learnUnderstand how to apply the principles of software architectureApply design patterns and best practices to meet your architectural goalsWrite elegant, safe, and performant code using the latest C++ featuresBuild applications that are easy to maintain and deployExplore the different architectural approaches and learn to apply them as per your requirementSimplify development and operations using application containersDiscover various techniques to solve common problems in software design and developmentWho this book is for This software architecture C++ programming book is for experienced C++ developers looking to become software architects or develop enterprise-grade applications.

Book Mastering C   Programming

    Book Details:
  • Author : Jeganathan Swaminathan
  • Publisher : Packt Publishing Ltd
  • Release : 2017-09-01
  • ISBN : 1786461935
  • Pages : 375 pages

Download or read book Mastering C Programming written by Jeganathan Swaminathan and published by Packt Publishing Ltd. This book was released on 2017-09-01 with total page 375 pages. Available in PDF, EPUB and Kindle. Book excerpt: Take your C++ coding to the next level by leveraging the latest features and advanced techniques to building high performing, reliable applications. About This Book Get acquainted with the latest features in C++ 17 Take advantage of the myriad of features and possibilities that C++ offers to build real-world applications Write clear and expressive code in C++, and get insights into how to keep your code error-free Who This Book Is For This book is for experienced C++ developers. If you are a novice C++ developer, then it's highly recommended that you get a solid understanding of the C++ language before reading this book What You Will Learn Write modular C++ applications in terms of the existing and newly introduced features Identify code-smells, clean up, and refactor legacy C++ applications Leverage the possibilities provided by Cucumber and Google Test/Mock to automate test cases Test frameworks with C++ Get acquainted with the new C++17 features Develop GUI applications in C++ Build portable cross-platform applications using standard C++ features In Detail C++ has come a long way and has now been adopted in several contexts. Its key strengths are its software infrastructure and resource-constrained applications. The C++ 17 release will change the way developers write code, and this book will help you master your developing skills with C++. With real-world, practical examples explaining each concept, the book will begin by introducing you to the latest features in C++ 17. It encourages clean code practices in C++ in general, and demonstrates the GUI app-development options in C++. You'll get tips on avoiding memory leaks using smart-pointers. Next, you'll see how multi-threaded programming can help you achieve concurrency in your applications. Moving on, you'll get an in-depth understanding of the C++ Standard Template Library. We show you the concepts of implementing TDD and BDD in your C++ programs, and explore template-based generic programming, giving you the expertise to build powerful applications. Finally, we'll round up with debugging techniques and best practices.By the end of the book, you'll have an in-depth understanding of the language and its various facets. Style and approach This straightforward guide will help you level up your skills in C++ programming, be it for enterprise software or for low-latency applications like games. Filled with real-world, practical examples, this book will take you gradually up the steep learning curve that is C++.

Book Mastering CMake

Download or read book Mastering CMake written by Ken Martin and published by . This book was released on 2004 with total page 178 pages. Available in PDF, EPUB and Kindle. Book excerpt:

Book Mastering Cmake

    Book Details:
  • Author : Stanley Ho Professor of Microelectronics in Electrical and Computer Engineering Ken Martin
  • Publisher : Kitware, Incorporated
  • Release : 2015-01-16
  • ISBN : 9781930934313
  • Pages : 708 pages

Download or read book Mastering Cmake written by Stanley Ho Professor of Microelectronics in Electrical and Computer Engineering Ken Martin and published by Kitware, Incorporated. This book was released on 2015-01-16 with total page 708 pages. Available in PDF, EPUB and Kindle. Book excerpt: CMake is an open-source build tool enabling collaboration among software developers working on distinct platforms by using a common build specification to drive their native build tools. Mastering CMake explains how to use the CMake suite of tools, including CTest and CPack, to develop, build, test, and package software for distribution. It covers use of the command-line and GUI tools on Linux (UNIX), Microsoft Windows, and Mac OS X. This book also contains a guide for converting projects to CMake and writing CMake code to specify build rules to compile sources, create static and shared libraries, link executables, run custom commands, run tests, and install artifacts. It also includes a copy of key portions of the official reference documentation.

Book Large scale C   Software Design

Download or read book Large scale C Software Design written by John Lakos and published by Addison-Wesley Professional. This book was released on 1996 with total page 884 pages. Available in PDF, EPUB and Kindle. Book excerpt: Software -- Programming Languages.

Book Software Build Systems

    Book Details:
  • Author : Peter Smith PhD
  • Publisher : Pearson Education
  • Release : 2011-03-11
  • ISBN : 0132171937
  • Pages : 647 pages

Download or read book Software Build Systems written by Peter Smith PhD and published by Pearson Education. This book was released on 2011-03-11 with total page 647 pages. Available in PDF, EPUB and Kindle. Book excerpt: “This book represents a thorough and extensive treatment of the software build process including the choices, benefits, and challenges of a well designed build process. I recommend it not only to all software build engineers but to all software developers since a well designed build process is key to an effective software development process.” —Kevin Bodie, Director Software Development, Pitney Bowes Inc. “An excellent and detailed explanation of build systems, an important but often overlooked part of software development projects. The discussion of productivity as related to build systems is, alone, well worth the time spent reading this book.” —John M. Pantone, Objectech Corporation, VP, IT Educator and Course Developer “Peter Smith provides an interesting and accessible look into the world of software build systems, distilling years of experience and covering virtually every type of tool in the build engineer’s toolbox. Well organized, well written, and very thorough; I would recommend this book to anyone with a build system under their responsibility.” —Jeff Overbey, Project Co-Lead, Photran “Software Build Systems teaches how to think about building software. It surveys the tools and techniques for building software products and the ways things go wrong. This book will appeal to those new to build systems as well as experienced build system engineers.” —Monte Davidoff, Software Development Consultant, Alluvial Software, Inc. Inadequate build systems can dramatically impact developer productivity. Bad dependencies, false compile errors, failed software images, slow compilation, and time-wasting manual processes are just some of the byproducts of a subpar build system. In Software Build Systems, software productivity expert Peter Smith shows you how to implement build systems that overcome all these problems, so you can deliver reliable software more rapidly, at lower cost. Smith explains the core principles underlying highly efficient build systems, surveying both system features and usage scenarios. Next, he encapsulates years of experience in creating and maintaining diverse build systems–helping you make well-informed choices about tools and practices, and avoid common traps and pitfalls. Throughout, he shares a wide range of practical examples and lessons from multiple environments, including Java, C++, C, and C#. Coverage includes • Mastering build system concepts, including source trees, build tools, and compilation tools • Comparing five leading build tools: GNU Make, Ant, SCons, CMake, and the Eclipse IDE’s integrated build features • Ensuring accurate dependency checking and efficient incremental compilation • Using metadata to assist debugging, profiling, and source code documentation • Packaging software for installation on your target machine • Best practices for managing complex version-control systems, build machines, and compilation tools If you’re a developer, this book will illuminate the issues involved in building and maintaining the build system that’s best for your team. If you’re a manager, you’ll discover how to evaluate your team’s build system and improve its effectiveness. And if you’re a build “guru,” you’ll learn how to optimize the performance and scalability of your build system, no matter how demanding your requirements are.

Book Mastering CMake

    Book Details:
  • Author : Ken Martin
  • Publisher :
  • Release : 2013
  • ISBN : 9789781930935
  • Pages : 641 pages

Download or read book Mastering CMake written by Ken Martin and published by . This book was released on 2013 with total page 641 pages. Available in PDF, EPUB and Kindle. Book excerpt:

Book Modern C   Programming with Test Driven Development

Download or read book Modern C Programming with Test Driven Development written by Jeff Langr and published by Pragmatic Bookshelf. This book was released on 2013-10-10 with total page 565 pages. Available in PDF, EPUB and Kindle. Book excerpt: If you program in C++ you've been neglected. Test-driven development (TDD) is a modern software development practice that can dramatically reduce the number of defects in systems, produce more maintainable code, and give you the confidence to change your software to meet changing needs. But C++ programmers have been ignored by those promoting TDD--until now. In this book, Jeff Langr gives you hands-on lessons in the challenges and rewards of doing TDD in C++. Modern C++ Programming With Test-Driven Development, the only comprehensive treatment on TDD in C++ provides you with everything you need to know about TDD, and the challenges and benefits of implementing it in your C++ systems. Its many detailed code examples take you step-by-step from TDD basics to advanced concepts. As a veteran C++ programmer, you're already writing high-quality code, and you work hard to maintain code quality. It doesn't have to be that hard. In this book, you'll learn: how to use TDD to improve legacy C++ systems how to identify and deal with troublesome system dependencies how to do dependency injection, which is particularly tricky in C++ how to use testing tools for C++ that aid TDD new C++11 features that facilitate TDD As you grow in TDD mastery, you'll discover how to keep a massive C++ system from becoming a design mess over time, as well as particular C++ trouble spots to avoid. You'll find out how to prevent your tests from being a maintenance burden and how to think in TDD without giving up your hard-won C++ skills. Finally, you'll see how to grow and sustain TDD in your team. Whether you're a complete unit-testing novice or an experienced tester, this book will lead you to mastery of test-driven development in C++. What You Need A C++ compiler running under Windows or Linux, preferably one that supports C++11. Examples presented in the book were built under gcc 4.7.2. Google Mock 1.6 (downloadable for free; it contains Google Test as well) or an alternate C++ unit testing tool. Most examples in the book are written for Google Mock, but it isn't difficult to translate them to your tool of choice. A good programmer's editor or IDE. cmake, preferably. Of course, you can use your own preferred make too. CMakeLists.txt files are provided for each project. Examples provided were built using cmake version 2.8.9. Various freely-available third-party libraries are used as the basis for examples in the book. These include: cURL JsonCpp Boost (filesystem, date_time/gregorian, algorithm, assign) Several examples use the boost headers/libraries. Only one example uses cURL and JsonCpp.

Book Git in Practice

    Book Details:
  • Author : Mike McQuaid
  • Publisher : Simon and Schuster
  • Release : 2014-09-29
  • ISBN : 1638352178
  • Pages : 390 pages

Download or read book Git in Practice written by Mike McQuaid and published by Simon and Schuster. This book was released on 2014-09-29 with total page 390 pages. Available in PDF, EPUB and Kindle. Book excerpt: Summary Git in Practice is a collection of 66 tested techniques that will optimize the way you and your team manage your development projects. The book begins with a brief reminder of the core version control concepts you need when using Git and moves on to the high-value features you may not have explored yet. Then, you'll dig into cookbook-style techniques like history visualization, advanced branching and rewriting history each presented in a problem-solution-discussion format. Finally you'll work out how to use Git to its full potential through configuration, team workflows, submodules and using GitHub pull requests effectively. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the Technology Git is a source control system, but it's a lot more than just that. For teams working in today's agile, continuous delivery environments, Git is a strategic advantage. Built with a decentralized structure that's perfect for a distributed team, Git manages branching, committing, complex merges, and task switching with minimal ceremony so you can concentrate on your code. About the Book Git in Practice is a collection of battle-tested techniques designed to optimize the way you and your team manage development projects. After a brief overview of Git's core features, this practical guide moves quickly to high-value topics like history visualization, advanced branching and rewriting, optimized configuration, team workflows, submodules, and how to use GitHub pull requests. Written in an easy-to-follow Problem/Solution/Discussion format with numerous diagrams and examples, it skips the theory and gets right to the nitty-gritty tasks that will transform the way you work. Written for developers familiar with version control and ready for the good stuff in Git. What's Inside Team interaction strategies and techniques Replacing bad habits with good practices Juggling complex configurations Rewriting history and disaster recovery About the Author Mike McQuaid is a software engineer at GitHub. He's contributed to Qt and the Linux kernel, and he maintains the Git-based Homebrew project. Table of Contents PART 1 INTRODUCTION TO GIT Local Git Remote Git PART 2 GIT ESSENTIALS Filesystem interactions History visualization Advanced branching Rewriting history and disaster recovery PART 3 ADVANCED GIT Personalizing Git Vendoring dependencies as submodules Working with Subversion GitHub pull requests Hosting a repository PART 4 GIT BEST PRACTICES Creating a clean history Merging vs. rebasing Recommended team workflows

Book C   Coding Standards

    Book Details:
  • Author : Herb Sutter
  • Publisher : Pearson Education
  • Release : 2004-10-25
  • ISBN : 0132654423
  • Pages : 489 pages

Download or read book C Coding Standards written by Herb Sutter and published by Pearson Education. This book was released on 2004-10-25 with total page 489 pages. Available in PDF, EPUB and Kindle. Book excerpt: Consistent, high-quality coding standards improve software quality, reduce time-to-market, promote teamwork, eliminate time wasted on inconsequential matters, and simplify maintenance. Now, two of the world's most respected C++ experts distill the rich collective experience of the global C++ community into a set of coding standards that every developer and development team can understand and use as a basis for their own coding standards. The authors cover virtually every facet of C++ programming: design and coding style, functions, operators, class design, inheritance, construction/destruction, copying, assignment, namespaces, modules, templates, genericity, exceptions, STL containers and algorithms, and more. Each standard is described concisely, with practical examples. From type definition to error handling, this book presents C++ best practices, including some that have only recently been identified and standardized-techniques you may not know even if you've used C++ for years. Along the way, you'll find answers to questions like What's worth standardizing--and what isn't? What are the best ways to code for scalability? What are the elements of a rational error handling policy? How (and why) do you avoid unnecessary initialization, cyclic, and definitional dependencies? When (and how) should you use static and dynamic polymorphism together? How do you practice "safe" overriding? When should you provide a no-fail swap? Why and how should you prevent exceptions from propagating across module boundaries? Why shouldn't you write namespace declarations or directives in a header file? Why should you use STL vector and string instead of arrays? How do you choose the right STL search or sort algorithm? What rules should you follow to ensure type-safe code? Whether you're working alone or with others, C++ Coding Standards will help you write cleaner code--and write it faster, with fewer hassles and less frustration.

Book Mastering the C  17 STL

    Book Details:
  • Author : Arthur O'Dwyer
  • Publisher : Packt Publishing Ltd
  • Release : 2017-09-28
  • ISBN : 1787288234
  • Pages : 379 pages

Download or read book Mastering the C 17 STL written by Arthur O'Dwyer and published by Packt Publishing Ltd. This book was released on 2017-09-28 with total page 379 pages. Available in PDF, EPUB and Kindle. Book excerpt: This book breaks down the C++ STL, teaching you how to extract its gems and apply them to your programming. About This Book Boost your productivity as a C++ developer with the latest features of C++17 Develop high-quality, fast, and portable applications with the varied features of the STL Migrate from older versions (C++11, C++14) to C++17 Who This Book Is For This book is for developers who would like to master the C++ STL and make full use of its components. Prior C++ knowledge is assumed. What You Will Learn Make your own iterator types, allocators, and thread pools. Master every standard container and every standard algorithm. Improve your code by replacing new/delete with smart pointers. Understand the difference between monomorphic algorithms, polymorphic algorithms, and generic algorithms. Learn the meaning and applications of vocabulary type, product type and sum type. In Detail Modern C++ has come a long way since 2011. The latest update, C++17, has just been ratified and several implementations are on the way. This book is your guide to the C++ standard library, including the very latest C++17 features. The book starts by exploring the C++ Standard Template Library in depth. You will learn the key differences between classical polymorphism and generic programming, the foundation of the STL. You will also learn how to use the various algorithms and containers in the STL to suit your programming needs. The next module delves into the tools of modern C++. Here you will learn about algebraic types such as std::optional, vocabulary types such as std::function, smart pointers, and synchronization primitives such as std::atomic and std::mutex. In the final module, you will learn about C++'s support for regular expressions and file I/O. By the end of the book you will be proficient in using the C++17 standard library to implement real programs, and you'll have gained a solid understanding of the library's own internals. Style and approach This book takes a concise but comprehensive approach to explaining and applying the C++ STL, one feature at a time.

Book Learn C the Hard Way

    Book Details:
  • Author : Zed A. Shaw
  • Publisher : Addison-Wesley Professional
  • Release : 2015-08-10
  • ISBN : 0133124371
  • Pages : 931 pages

Download or read book Learn C the Hard Way written by Zed A. Shaw and published by Addison-Wesley Professional. This book was released on 2015-08-10 with total page 931 pages. Available in PDF, EPUB and Kindle. Book excerpt: You Will Learn C! Zed Shaw has crafted the perfect course for the beginning C programmer eager to advance their skills in any language. Follow it and you will learn the many skills early and junior programmers need to succeed–just like the hundreds of thousands of programmers Zed has taught to date! You bring discipline, commitment, persistence, and experience with any programming language; the author supplies everything else. In Learn C the Hard Way, you’ll learn C by working through 52 brilliantly crafted exercises. Watch Zed Shaw’s teaching video and read the exercise. Type his code precisely. (No copying and pasting!) Fix your mistakes. Watch the programs run. As you do, you’ll learn what good, modern C programs look like; how to think more effectively about code; and how to find and fix mistakes far more efficiently. Most importantly, you’ll master rigorous defensive programming techniques, so you can use any language to create software that protects itself from malicious activity and defects. Through practical projects you’ll apply what you learn to build confidence in your new skills. Shaw teaches the key skills you need to start writing excellent C software, including Setting up a C environment Basic syntax and idioms Compilation, make files, and linkers Operators, variables, and data types Program control Arrays and strings Functions, pointers, and structs Memory allocation I/O and files Libraries Data structures, including linked lists, sort, and search Stacks and queues Debugging, defensive coding, and automated testing Fixing stack overflows, illegal memory access, and more Breaking and hacking your own C code It’ll Be Hard at First. But Soon, You’ll Just Get It–And That Will Feel Great! This tutorial will reward you for every minute you put into it. Soon, you’ll know one of the world’s most powerful programming languages. You’ll be a C programmer.