C++ by Dissection
Today, the ANSI C++ programming language is widely used throughout the world in
both academia and industry. In many educational institutions it is the language of
choice for a first programming course and for a language to be used for computer sci-
ence instruction. A key reason for this is that C++ has drifted down the curriculum
from more advanced courses to more introductory courses. Further, C++ comes with
many useful libraries, and is supported by sophisticated integrated environments. It is
a language that efficiently supports object-oriented programming (OOP) the dominant
contemporary programming methodology.
C++ by Dissection presents a thorough introduction to the programming process by
carefully developing working programs to illuminate key features of the C++ program-
ming language. Program code is explained in an easy-to-follow, careful manner through-
out. The code has been tested on several platforms and is found on the bundled CD-
rom accompanying this text. The code in C++ By Dissection can be used with most C++
systems, including those found in operating systems such as MacOS, MS-DOS, OS/2,
UNIX, and Windows.
C++, invented at Bell Labs by Bjarne Stroustrup in the mid-1980s, is a powerful, mod-
ern, successor language to C. C++ adds to C the concept of class, a mechanism for pro-
viding user-defined types, also called abstract data types. C++ supports object-oriented
programming by these means and by providing inheritance and runtime type binding.
Efficient C++ Performance Programming Techniques
Far too many programmers and software designers consider efficient C++ to be an
oxymoron. They regard C++ as inherently slow and inappropriate for performance-
critical applications. Consequently, C++ has had little success penetrating domains such
as networking, operating system kernels, device drivers, and others.
Efficient C++ explodes that myth. Written by two authors with first-hand experience
wringing the last ounce of performance from commercial C++ applications, this book
demonstrates the potential of C++ to produce highly efficient programs. The book reveals
practical, everyday object-oriented design principles and C++ coding techniques that can
yield large performance improvements. It points out common pitfalls in both design and
code that generate hidden operating costs.
This book focuses on combining C++'s power and flexibility with high performance and
scalability, resulting in the best of both worlds. Specific topics include temporary objects,
memory management, templates, inheritance, virtual functions, inlining, reference-
counting, STL, and much more.
With this book, you will have a valuable compendium of the best performance techniques
at your fingertips.
The Developer's Guide to Debugging
Software has bugs. Period.
That's true, unfortunately. Even the good old "hello, world" program, known to virtually every C and C++ programmer in the world, can be considered to be buggy. Developing software means having to deal with defects; old ones, new ones, ones you created yourself, and those that others brought to life. Software developers debug programs for a living.
Hence, good debugging skills are a must-have. That said, it is regrettable that debugging is hardly taught in engineering schools. That's how the idea for this book was born.
The Developer's Guide to Debugging is a book for both professional software developers seeking to broaden their skills and students that want to learn the tricks of the trade from the ground up. With small examples and exercises it is well suited to accompany a CS course or lecture. At the same time it can be used as a reference guide to address problems as the need arises.
This book goes beyond the level of simple source code debugging scenarios. In addition, it covers the most frequent real-world problems from the areas of program linking, memory access, parallel processing and performance analysis. The picture is completed by chapters covering static checkers and techniques to write code that leans well towards debugging.
While the focus lies on C and C++, the workhorses of the software industry, one can apply many techniques described in The Developer's Guide to Debugging to programs written in other languages.
Thinking in C++, Volume 1, 2nd Edition
Winner, Software Development Magazine’s
1996 Jolt Award for Best Book of the Year
“This book is a tremendous achievement. You owe it to yourself to
have a copy on your shelf. The chapter on iostreams is the most
comprehensive and understandable treatment of that subject I’ve
seen to date.”
Al Stevens
Contributing Editor, Doctor Dobbs Journal
Thinking in C++ 2nd edition Volume 2: Standard Libraries & Advanced Topics
“This book is a tremendous achievement. You owe it to yourself to have a
copy on your shelf. The chapter on iostreams is the most comprehensive and
understandable treatment of that subject I’ve seen to date.”
Al Stevens
Contributing Editor, Doctor Dobbs Journal
Virtual Machines: Versatile Platforms for Systems and Processes part3
Virtual Machine technology applies the concept of virtualization to an
entire machine, circumventing real machine compatibility constraints
and hardware resource constraints to enable a higher degree of
software portability and flexibility. Virtual machines are rapidly
becoming an essential element in computer system design. They provide
system security, flexibility, cross-platform compatibility,
reliability, and resource efficiency. Designed to solve problems in
combining and using major computer system components, virtual machine
technologies play a key role in many disciplines, including operating
systems, programming languages, and computer architecture. For
example, at the process level, virtualizing technologies support
dynamic program translation and platform-independent network
computing. At the system level, they support multiple operating system
environments on the same hardware platform and in servers.
Historically, individual virtual machine techniques have been
developed within the specific disciplines that employ them (in some
cases they arent even referred to as virtual machines), making it
difficult to see their common underlying relationships in a cohesive
way. In this text, Smith and Nair take a new approach by examining
virtual machines as a unified discipline. Pulling together
cross-cutting technologies allows virtual machine implementations to
be studied and engineered in a well-structured manner. Topics include
instruction set emulation, dynamic program translation and
optimization, high level virtual machines (including Java and CLI),
and system virtual machines for both single-user systems and servers.
Virtual Machines: Versatile Platforms for Systems and Processes part2
Virtual Machine technology applies the concept of virtualization to an
entire machine, circumventing real machine compatibility constraints
and hardware resource constraints to enable a higher degree of
software portability and flexibility. Virtual machines are rapidly
becoming an essential element in computer system design. They provide
system security, flexibility, cross-platform compatibility,
reliability, and resource efficiency. Designed to solve problems in
combining and using major computer system components, virtual machine
technologies play a key role in many disciplines, including operating
systems, programming languages, and computer architecture. For
example, at the process level, virtualizing technologies support
dynamic program translation and platform-independent network
computing. At the system level, they support multiple operating system
environments on the same hardware platform and in servers.
Historically, individual virtual machine techniques have been
developed within the specific disciplines that employ them (in some
cases they arent even referred to as virtual machines), making it
difficult to see their common underlying relationships in a cohesive
way. In this text, Smith and Nair take a new approach by examining
virtual machines as a unified discipline. Pulling together
cross-cutting technologies allows virtual machine implementations to
be studied and engineered in a well-structured manner. Topics include
instruction set emulation, dynamic program translation and
optimization, high level virtual machines (including Java and CLI),
and system virtual machines for both single-user systems and servers.
Virtual Machines: Versatile Platforms for Systems and Processes part1
Virtual Machine technology applies the concept of virtualization to an
entire machine, circumventing real machine compatibility constraints
and hardware resource constraints to enable a higher degree of
software portability and flexibility. Virtual machines are rapidly
becoming an essential element
Hacking: The Art of Exploitation, 2nd Edition
Hacking is the art of creative problem solving, whether that means finding an unconventional solution to a difficult problem or exploiting holes in sloppy programming. Many people call themselves hackers, but few have the strong technical foundation needed to really push the envelope.
Rather than merely showing how to run existing exploits, author Jon Erickson explains how arcane hacking techniques actually work. To share the art and science of hacking in a way that is accessible to everyone, Hacking: The Art of Exploitation, 2nd Edition introduces the fundamentals of C programming from a hacker's perspective.
The included LiveCD provides a complete Linux programming and debugging environment-all without modifying your current operating system. Use it to follow along with the book's examples as you fill gaps in your knowledge and explore hacking techniques on your own. Get your hands dirty debugging code, overflowing buffers, hijacking network communications, bypassing protections, exploiting cryptographic weaknesses, and perhaps even inventing new exploits. This book will teach you how to:
Program computers using C, assembly language, and shell scripts
Corrupt system memory to run arbitrary code using buffer overflows and format strings
Inspect processor registers and system memory with a debugger to gain a real understanding of what is happening
Outsmart common security measures like nonexecutable stacks and intrusion detection systems
Gain access to a remote server using port-binding or connect-back shellcode, and alter a server's logging behavior to hide your presence
Redirect network traffic, conceal open ports, and hijack TCP connections
Crack encrypted wireless traffic using the FMS attack, and speed up brute-force attacks using a password probability matrix
Hackers are always pushing the boundaries, investigating the unknown, and evolving their art. Even if you don't already know how to program, Hacking: The Art of Exploitation, 2nd Edition will give you a complete picture of programming, machine architecture, network communications, and existing hacking techniques. Combine this knowledge with the included Linux environment, and all you need is your own creativity.
TCP/IP Illustrated, Volume 1: The Protocols
TCP/IP Illustrated, Volume 1 is a complete and detailed guide to the entire TCP/IP protocol suite - with an important difference from other books on the subject. Rather than just describing what the RFCs say the protocol suite should do, this unique book uses a popular diagnostic tool so you may actually watch the protocols in action.
By forcing various conditions to occur - such as connection establishment, timeout and retransmission, and fragmentation - and then displaying the results, TCP/IP Illustrated gives you a much greater understanding of these concepts than words alone could provide. Whether you are new to TCP/IP or you have read other books on the subject, you will come away with an increased understanding of how and why TCP/IP works the way it does, as well as enhanced skill at developing aplications that run over TCP/IP.
Addison.Wesley.TCP.IP.Illustrated.Volume.2.The.Implementation.chm
TCP/IP Illustrated, Volume 2 contains a thorough explanation of how TCP/IP protocols are implemented. There isn't a more practical or up-to-date bookothis volume is the only one to cover the de facto standard implementation from the 4.4BSD-Lite release, the foundation for TCP/IP implementations run daily on hundreds of thousands of systems worldwide.
Combining 500 illustrations with 15,000 lines of real, working code, TCP/IP Illustrated, Volume 2 uses a teach-by-example approach to help you master TCP/IP implementation. You will learn about such topics as the relationship between the sockets API and the protocol suite, and the differences between a host implementation and a router. In addition, the book covers the newest features of the 4.4BSD-Lite release, including multicasting, long fat pipe support, window scale, timestamp options, and protection against wrapped sequence numbers, and many other topics.
Comprehensive in scope, based on a working standard, and thoroughly illustrated, this book is an indispensable resource for anyone working with TCP/IP.
C++ Templates: The Complete Guide
Templates are among the most powerful features of C++, but they are too often neglected, misunderstood, and misused. C++ Templates: The Complete Guide provides software architects and engineers with a clear understanding of why, when, and how to use templates to build and maintain cleaner, faster, and smarter software more efficiently.
C++ Templates begins with an insightful tutorial on basic concepts and language features. The remainder of the book serves as a comprehensive reference, focusing first on language details, then on a wide range of coding techniques, and finally on advanced applications for templates. Examples used throughout the book illustrate abstract concepts and demonstrate best practices.
Readers learn
The exact behaviors of templates
How to avoid the pitfalls associated with templates
Idioms and techniques, from the basic to the previously undocumented
How to reuse source code without threatening performance or safety
How to increase the efficiency of C++ programs
How to produce more flexible and maintainable software
This practical guide shows programmers how to exploit the full power of the template features in C++.
C++ Standard Library: A Tutorial and Reference
C++ Standard Library provides a set of common classes and interfaces that greatly extend the core C++ language. The library, however, is not self-explanatory. To make full use of its components-and to benefit from their power-you need a resource that does far more than list the classes and their functions.
The C++ Standard Library not only provides comprehensive documentation of each library component, it also offers clearly written explanations of complex concepts, describes the practical programming details needed for effective use, and gives example after example of working code.
This thoroughly up-to-date book reflects the newest elements of the C++ standard library incorporated into the full ANSI/ISO C++ language standard. In particular, the text focuses on the Standard Template Library (STL), examining containers, iterators, function objects, and STL algorithms. You will also find detailed coverage of special containers, strings, numerical classes, internationalization, and the IOStream library. Each component is presented in depth, with an introduction to its purpose and design, examples, a detailed description, traps and pitfalls, and the exact signature and definition of its classes and their functions. An insightful introduction to fundamental concepts and an overview of the library will help bring newcomers quickly up to speed.
Comprehensive, detailed, readable, and practical, The C++ Standard Library is the C++ resource you will turn to again and again.
Modern C++ Design: Generic Programming and Design Patterns Applied
Modern C++ Design is an important book. Fundamentally, it demonstrates 'generic patterns' or 'pattern templates' as a powerful new way of creating extensible designs in C++--a new way to combine templates and patterns that you may never have dreamt was possible, but is. If your work involves C++ design and coding, you should read this book. Highly recommended.-Herb Sutter
What's left to say about C++ that hasn't already been said? Plenty, it turns out.-From the Foreword by John Vlissides
In Modern C++ Design, Andrei Alexandrescu opens new vistas for C++ programmers. Displaying extraordinary creativity and programming virtuosity, Alexandrescu offers a cutting-edge approach to design that unites design patterns, generic programming, and C++, enabling programmers to achieve expressive, flexible, and highly reusable code.
This book introduces the concept of generic components-reusable design templates that produce boilerplate code for compiler consumption-all within C++. Generic components enable an easier and more seamless transition from design to application code, generate code that better expresses the original design intention, and support the reuse of design structures with minimal recoding.
The author describes the specific C++ techniques and features that are used in building generic components and goes on to implement industrial strength generic components for real-world applications. Recurring issues that C++ developers face in their day-to-day activity are discussed in depth and implemented in a generic way. These include:
Policy-based design for flexibility
Partial template specialization
Typelists-powerful type manipulation structures
Patterns such as Visitor, Singleton, Command, and Factories
Multi-method engines
For each generic component, the book presents the fundamental problems and design options, and finally implements a generic solution.
In addition, an accompanying Web site, http://www.awl.com/cseng/titles/0-201-70431-5, makes the code implementations available for the generic components in the book and provides a free, downloadable C++ library, called Loki, created by the author. Loki provides out-of-the-box functionality for virtually any C++ project.
Programming with Microsoft Visual C++ .NET, Sixth Edition
The release of the Microsoft Visual Studio .NET (and Visual C++ .NET in particular) has underscored Microsoft's increasing focus on Internet technologies, which are at the heart of the Microsoft .NET architecture. In addition to supporting the .NET initiative, Visual C++ .NET keeps all the productivity-boosting features you're familiar with, such as Edit And Continue, IntelliSense, AutoComplete, and code tips. Visual C++ .NET also includes many new features such as managed code extensions for .NET programming, support for attributed code, and a more consistent development environment. These features take Visual C++ .NET to a new level. This book will get you up to speed on the latest technologies introduced into Visual C++.
Mastering Algorithms with C
This book offers robust solutions for everyday programming tasks, providing all the necessary information to understand and use common programming techniques. It includes implementations and real-world examples of each data structure in the text and full source code on the accompanying website (http://examples.oreilly.com/masteralgoc/). Intended for anyone with a basic understanding of the C language.
C & Data Structures
This thorough text provides a comprehensive guide to all the data types in C with internal implementation, while providing examples to demonstrate their behavior.
THE ART OF COMPUTER VIRUS RESEARCH AND DEFENSE
Symantec's chief antivirus researcher has written the definitive guide to contemporary virus threats, defense techniques, and analysis tools. Unlike most books on computer viruses, The Art of Computer Virus Research and Defense is a reference written strictly for white hats: IT and security professionals responsible for protecting their organizations against malware. Peter Szor systematically covers everything you need to know, including virus behavior and classification, protection strategies, antivirus and worm-blocking techniques, and much more.
Szor presents the state-of-the-art in both malware and protection, providing the full technical detail that professionals need to handle increasingly complex attacks. Along the way, he provides extensive information on code metamorphism and other emerging techniques, so you can anticipate and prepare for future threats.
Szor also offers the most thorough and practical primer on virus analysis ever published—addressing everything from creating your own personal laboratory to automating the analysis process.
Introduction to Algorithms 3rd edition
From verycd
http://www.verycd.com/topics/2869397/
source insight v3.5.0064 + keygen
source insight v3.5.0064 + keygen