Advertisement

Programming Embedded Systems in C and C ++

Description: Embedded software is in almost every electronic device designed today. There is software hidden away inside our watches, microwaves, VCRs, cellular telephones, and pagers; the military uses embedded software to guide smart missiles and detect enemy aircraft; communications satellites, space probes, and modern medicine would be nearly impossible without it. Of course, someone has to write all that software, and there are thousands of computer scientists, electrical engineers, and other professionals who actually do.

Each embedded system is unique and highly customized to the application at hand. As a result, embedded systems programming is a widely varying field that can take years to master. However, if you have some programming experience and are familiar with C or C++, you're ready to learn how to write embedded software. The hands-on, no-nonsense style of this book will help you get started by offering practical advice from someone who's been in your shoes and wants to help you learn quickly

The techniques and code examples presented here are directly applicable to real-world embedded software projects of all sorts. Even if you've done some embedded programming before, you'll still benefit from the topics in this book, which include:

* Testing memory chips quickly and efficiently
* Writing and erasing Flash memory
* Verifying nonvolatile memory contents with CRCs
* Interfacing to on-chip and external peripherals
* Device driver design and implementation
* Optimizing embedded software for size and speed

So whether you're writing your first embedded program, designing the latest generation of hand-held whatchamacalits, or simply managing the people who do, this book is for you.

Download Here

Visual C++ .NET Optimization with Assembly Code

Describing how the Assembly language can be used to develop highly effective C++ applications, this guide covers the development of 32-bit applications for Windows. Areas of focus include optimizing high-level logical structures, creating effective mathematical algorithms, and working with strings and arrays. Code optimization is considered for the Intel platform, taking into account features of the latest models of Intel Pentium processors and how using Assembly code in C++ applications can improve application processing. The use of an assembler to optimize C++ applications is examined in two ways, by developing and compiling Assembly modules that can be linked with the main program written in C++ and using the built-in assembler. Microsoft Visual C++ .Net 2003 is explored as a programming tool, and both the MASM 6.14 and IA-32 assembler compilers, which are used to compile source modules, are considered.

As one of the most powerful development tools, the Microsoft Visual C++ .NET development environment offers the programmer a wide variety of features for the development of applications of any type and level of complexity. Nevertheless, most serious applications are written with much manual work. This is because none of the high-level language development tools can provide maximum performance. This is the truth based on the structure and semantics of high-level languages.

A possible solution to the application optimization problem is the use of assembly language. Note that it is possible to write an application without using this language. There are many programs that do not require optimization. However, with regard to real-time applications, device drivers, multimedia applications, sound processing applications, graphics applications, and any applications, for which the time of execution is important, the use of assembly language is inevitable because no other optimization method will work.



This book will focus on the use of assembly language in programs created with Visual C++ .NET 2003, currently the most powerful C++ development environment. The material of this book will disclose two relatively independent aspects of using it as a stand-alone tool for creating individual procedures in the form of object modules and as a built-in tool integrated in C++ .NET. Microsoft continually improves the inline assembler.

This book is not a tutorial on assembly language, nor on C++ .NET. It assumes that you have a certain knowledge of these programming areas.

TABLE OF CONTENT:
Chapter 01 - Developing Efficient Program Code
Chapter 02 - Optimizing Calculation Algorithms
Chapter 03 - Developing and Using Procedures in Assembly Language
Chapter 04 - Optimizing C++ Logical Structures with Assembly Language
Chapter 05 - Assembly Module Interface to C++ Programs
Chapter 06 - Developing and Using Assembly Subroutines
Chapter 07 - Linking Assembly Modules with C++ .NET Programs
Chapter 08 - Dynamic Link Libraries and Their Development in Assembly Language
Chapter 09 - Basic Structures of Visual C++ .NET 2003 Inline Assembler
Chapter 10 - Inline Assembler and Application Optimization. MMX and SSE Technologies
Chapter 11 - Optimizing Multimedia Applications with Assembly Language
Chapter 12 - Optimizing Multithread Applications with Assembly Language
Chapter 13 - C++ Inline Assembler and Windows Time Functions
Chapter 14 - Using Assembly Language for System Programming in Windows
Chapter 15 - Optimizing Procedure-Oriented Applications and System Services

Download part 1
Download part 2

Password:ganelon

Memory As A Programming Concept In C And C++

The motivation for this book came from years of observing computer science students at universities as well as professional programmers working in software development. I had come to the conclusion that there seemed to be a gap in their understanding of programming. They usually understood the syntax of the programming language they were using and had a reasonable grasp of such topics as algorithms and data structures. However, a program is not executed in a vacuum; it is executed in computer memory. This simple fact exerts a powerful influence on the actual behavior of the program - or, expressed more precisely, a subtle yet powerful influence on the semantics of the particular programming language. I had observed that many students and programmers did not fully understand how memory affected the behavior of the C and C++ programs they were designing. This book is an attempt to fill this gap and provide students and programmers alike with a text that is focused on this topic.

The overwhelming majority of program bugs and computer crashes stem from problems of memory access, allocation, or deallocation. Such memory-related problems are also notoriously difficult to debug. Yet the role that memory plays in C and C++ programming is a subject often overlooked in courses and books because it requires specialized knowledge of operating systems, compilers, and computer architecture in addition to a familiarity with the language themselves. Most professional programmers learn about memory entirely through experience of the trouble it causes.

This book provides students and professional programmers with a concise yet comprehensive view of the role that memory plays in all aspects of programming and program behavior. Assuming only a basic familiarity with C or C++, the author describes the techniques, methods, and tools available to deal with the problems related to memory and its effective use.


TABLE OF CONTENT:
Chapter 01 - Introduction
Chapter 02 - From Source File to Executable File
Chapter 03 - Variables and Objects; Pointers and Addresses
Chapter 04 - Dynamic Allocation and Deallocation of Memory
Chapter 05 - Functions and Function Calls
Chapter 06 - One-Dimensional Arrays and Strings
Chapter 07 - Multi-Dimensional Arrays
Chapter 08 - Classes and Objects
Chapter 09 - Linked Data Structures
Chapter 10 - Memory Leaks and Their Debugging
Chapter 11 - Programs in Execution: Processes and Threads
Appendix 1 - Hanoi Towers Puzzle
Appendix 2 - Tracing Objects in C++
Appendix 3 - Tracing Objects and Memory in C++
Appendix 4 - Thread-Safe and Process-Safe Reporting and Logging Functions

Download here

Password:ganelon

The Linux Programmers Toolbox - Prentice Hall

Kernighan and Ritchie show readers how to program the standard C libraries. Stevens covers the network programming interfaces in UNIX. But neither covers the tools developers need to master to be productive in Linux: compilers, debuggers, source code control, packaging etc…This book is the professional developer's guide to these tools. Linux as a software development platform is rich in tools - hundreds of tools, with new ones being developed all the time. Experienced C and C++ developers moving to Linux for the first time need to understand which tools are the best, and how to use them. This book is their guide. The book begins with a discussion of how to install, patch, and manage software development tools on a linux system. It then proceeds to cover editors, source code control tools, code beautifiers, IDEs, and revision control tools. The next two sections deal with configuring a build environment and working with documentation tools including texinfo, docbook, modinfo, and others. The book ends with a chapter on popular debugging tools and techniques, and another on the powerful but often bewildering performance tools available on Linux systems. The book is in the Arnold Robbins Linux Programming by Example Series. As is true of all books in this series, the book will use real program code from working programs to illustrate all key concepts.

Download here

Password: knowfree.net

Learn to Program with C++

More than 100,000 programmers owe their careers to Professor John Smiley. In this unique guide, the guru himself will teach you, in a classroom setting, how to program with C++. Learn from more than 100 questions and answers as well as real-world programming projects.


Download Here

Financial Applications using Excel Add-in Development in C/C++

Financial Applications using Excel Add-in Development in C/C++ is a must-buy book for any serious Excel developer.Excel is the industry standard for financial modelling, providing a number of ways for users to extend the functionality of their own add-ins, including VBA and C/C++. This is the only complete how-to guide and reference book for the creation of high performance add-ins for Excel in C and C++ for users in the finance industry. Steve Dalton explains how to apply Excel add-ins to financial applications with many examples given throughout the book. It also covers the relative strengths and weaknesses of developing add-ins for Excel in VBA versus C/C++, and provides comprehensive code, workbooks and example projects on the accompanying CD-ROM. The impact of Excel 2007’s multi-threaded workbook calculations and large grids on add-in development are fully explored. Financial Applications using Excel Add-in Development in C/C++ features:

Extensive example codes in VBA, C and C++, explaining all the ways in which a developer can achieve their objectives.
Example projects that demonstrate, from start to finish, the potential of Excel when powerful add-ins can be easily developed.
Develops the readers understanding of the relative strengths and weaknesses of developing add-ins for Excel in VBA versus C/C++.
A CD-ROM with several thousand lines of example code, numerous workbooks, and a number of complete example projects.

Extended STL, Volume 1: Collections and Iterators

Extended STL, Volume 1, will be an invaluable resource for every C++ programmer who is at least minimally familiar with the STL.
  • Learn specific principles and techniques for STL extension
  • Learn more about the STL by looking inside the implementation of STL extensions
  • Learn general techniques for implementing wrappers over operating system APIs and technology-specific libraries
  • Learn how to write iterator adaptors and understand the reasons behind the restrictions on their implementations and use

Specific coverage includes

  • Making the most of collections, and understanding how they differ from containers
  • Mastering element reference categories: defining them, detecting them, and using them to design STL extension collections and iterators
  • Working with external iterator invalidation, and understanding its surprising impact on the design of STL-compatible collections
  • Adapting real-world APIs ranging from file
  • system enumeration to scatter/gather I/O
  • Using standalone iterator types, from simple std::ostream_iterator extensions to sophisticated adaptors that filter and transform types or values

Download Here

Introduction to Game Programming with C++

Introduction to Game Programming with C++ is an exciting book for readers with no previous experience in game development. Starting from the basics of C++ and ending with the intracies of real-time 3D graphics, this book explores the interesting world of game making. It explains how to program, explores the meaning of object-oriented programming, and examines game algorithms, 2D and 3D games, sound and music, and how to create game installers. Overall, this book will introduce you to the world of game development and get you started on the right path to making games that sell .


Download Here

The Waite Group’s C++ How-To

C++ How-To presents a rich diversity of examples and techniques for pushing C++ to its limits and beyond. Readers locate information by task or function and then walk through a series of How-Tos to find the solution. No current C++ refere -The all-new definitive C++ problem-solving resource! Programmers can quickly and efficiently find specific solutions to real-world problems in the C++ How-To -The quick, problem-answer design provides C++ programmers with all the tools they need to solve complex and everyday problems quickly -Because every concept and example is graded by complexity, readers can easily find practical information at their level, without having to wade through hundreds of pages of information they dont need.

Download Here

C++ for Dummies

Author(s): Stephen Randy Davis
Publisher: Wiley
Year: May 2004
ISBN: 0764568523
Language: English
Pages: 432
File type: PDF
Size : 2.5 MB

If you’ve thought of programmers as elite intelligentsia who possess expertise (and perhaps genes) the rest of us will never have, think again. C++ For Dummies, 5th Edition, debunks the myths, blasts the barriers, shares the secrets, and gets you started. In fact, by the end of Chapter 1, you’ll be able to create a C++ program. OK, it won’t be newest, flashiest video game, but it might be a practical, customized inventory control or record-keeping program.

TABLE OF CONTENT:
Part 1 - Introduction to C++ Programming.
Part 2 - Becoming a Functional C++ Programmer.
Part 3 - Introduction to Classes.
Part 4 - Inheritance.
Part 5 - Optional Features.
Part 6 - The Part of Tens.

Download here

Password:ganelon

Excel Add-in Development in C/C++: Applications in Finance

Excel is the industry standard for financial modelling, providing a number of ways for users to extend the functionality of their own add-ins, including VB. C/C++. Excel Add-in Development in C/C++ - Applications for Finance is a how-to guide and reference book for the creation of high performance add-ins for Excel in C and C++ for users in the finance industry. Author Steve Dalton explains how to apply Excel add-ins to financial applications with many examples given throughout the book. It covers the relative strengths and weaknesses of developing add-ins for Excel in VB versus C/C++.


Download Here

Object-Oriented Programming in C++, 3rd Edition

Why is everyone so excited about OOP? The chief problem with computer programs is complexity. Large programs are probably the most complicated entities ever created by humans. Because of this complexity, programs are prone to error, and software errors can be expensive and even life threatening (in air-traffic control, for example). Object-Oriented Programming offers a new and powerful way to cope with this complexity. Its goal is clearer, more reliable, more easily maintained programs.

Of the Object-Oriented Programming languages, C++ is by far the most widely used. (Java, a recent addition to the field of OO languages, lacks certain features, such as pointers, that make it less powerful and versatile than C++.)

This book teaches Object-Oriented Programming with the C++ programming language, using either Microsoft or Borland compilers. It is suitable for professional programmers, students, and kitchen-table enthusiasts.


You can use this book even if you have no previous programming experience. However, such experience, in BASIC or Pascal, for example, certainly won’t hurt.


You do not need to know the C language to use this book. Many books on C++ assume that you already know C, but this one does not. It teaches C++ from the ground up. If you do know C, it won’t hurt, but you may be surprised at how little overlap there is between C and C++.


You should be familiar with the basic operations of Microsoft Windows, such as starting applications and copying files.

TABLE OF CONTENT:
Chapter 01 — The big picture
Chapter 02 — C++ programming basics
Chapter 03 — Loops and decisions
Chapter 04 — Structures
Chapter 05 — Functions
Chapter 06 — Objects and classes
Chapter 07 — Arrays and strings
Chapter 08 — Operator overloading
Chapter 09 — Inharitance
Chapter 10 — Pointers
Chapter 11 — Virtual functions
Chapter 12 — Streams and files
Chapter 13 — Multifile programs
Chapter 14 — Templates and exceptions
Chapter 15 — The standard template library
Chapter 16 — Object-oriented design

Download Here

Password: ganelon

Programming a Multiplayer FPS in DirectX

If you have experience with C++ and DirectX and have always wanted to program your own game, this is the book for you. Programming a Multiplayer FPS in DirectX takes you from the basic game design to a fully functioning game! All of the source code, assets, and tools are included- you just work through the tutorial-based chapters and watch the game come to life as you develop it. And as new features are added, you can begin playing with them to see them in action. Following a typical game development process, the book is separated into two distinct parts: Part One focuses on the design and development of the game engine, and Part Two concentrates on putting the game together using the engine. The theory has been kept to a minimum, so that you are following a hands-on approach and adding new functionality to your engine as you proceed. In the first part, you'll learn about the many facets of DirectX, C++, and object-oriented programming. You'll also learn how to design the engine and put the infrastructure into place. The next chapters will each add a new module to your engine including input, scripting, 3D rendering, sound, networking, and scene management. The second part covers the final development stages, including everything from game play to player management; it culminates with the complete multiplayer FPS game. Throughout the book you'll learn key topics that will bring you up to speed with industry proven techniques, while improving your confidence as a developer. And because DirectX is the most prevalent game development tool available, once you master this project, you'll have the skills you need to create a variety of games!

Download here

Password: knowfree.net

C++ Network Programming, Volume 2

Do you need to develop flexible software that can be customized quickly? Do you need to add the power and efficiency of frameworks to your software? The ADAPTIVE Communication Environment (ACE) is an open-source toolkit for building high-performance networked applications and next-generation middleware. ACE's power and flexibility arise from object-oriented frameworks, used to achieve the systematic reuse of networked application software. ACE frameworks handle common network programming tasks and can be customized using C++ language features to produce complete distributed applications.
C++ Network Programming, Volume 2, focuses on ACE frameworks, providing thorough coverage of the concepts, patterns, and usage rules that form their structure. This book is a practical guide to designing object-oriented frameworks and shows developers how to apply frameworks to concurrent networked applications. C++ Networking, Volume 1, introduced ACE and the wrapper facades, which are basic network computing ingredients. Volume 2 explains how frameworks build on wrapper facades to provide higher-level communication services.

TABLE OF CONTENT:
Chapter 1 - OO Frameworks for Network Programming
Chapter 2 - Service and Configuration Design Dimensions
Chapter 3 - The ACE Reactor Framework
Chapter 4 - ACE Reactor Implementations
Chapter 5 - The ACE Service Configurator Framework
Chapter 6 - The ACE Task Framework
Chapter 7 - The ACE Acceptor-Connector Framework
Chapter 8 - The ACE Proactor Framework
Chapter 9 - The ACE Streams Framework

Download Here

Password:ganelon

C++ Network Programming, Volume 1

This book guides software professionals through the traps and pitfalls of developing efficient, portable, and flexible networked applications. It explores the inherent design complexities of concurrent networked applications and the tradeoffs that must be considered when working to master them.
C++ Network Programming begins with an overview of the issues and tools involved in writing distributed concurrent applications. The book then provides the essential design dimensions, patterns, and principles needed to develop flexible and efficient concurrent networked applications. The book's expert author team shows you how to enhance design skills while applying C++ and patterns effectively to develop object-oriented networked applications.


TABLE OF CONTENT:
Chapter 01 - Communication Design Dimensions
Chapter 02 - An Overview of the Socket API
Chapter 03 - The ACE Socket Wrapper Facades
Chapter 04 - Implementing the Networked Logging Service
Chapter 05 - Concurrency Design Dimensions
Chapter 06 - An Overview of OS Concurrency Mechanisms
Chapter 07 - The ACE Synchronous Event Demultiplexing Wrapper Facades
Chapter 08 - The ACE Process Wrapper Facades
Chapter 09 - The ACE Threading Wrapper Facades
Chapter 10 - The ACE Synchronization Wrapper Facades
Appendix A - Design Principles for ACE C++ Wrapper Facades
Appendix B - The Past, Present, and Future of ACE

Download Here

Password:ganelon