C in a Nutshell

C in a Nutshell

Author: Peter Prinz

Publisher: "O'Reilly Media, Inc."

Published: 2015-12-10

Total Pages: 887

ISBN-13: 1491924187

DOWNLOAD EBOOK

The new edition of this classic O’Reilly reference provides clear, detailed explanations of every feature in the C language and runtime library, including multithreading, type-generic macros, and library functions that are new in the 2011 C standard (C11). If you want to understand the effects of an unfamiliar function, and how the standard library requires it to behave, you’ll find it here, along with a typical example. Ideal for experienced C and C++ programmers, this book also includes popular tools in the GNU software collection. You’ll learn how to build C programs with GNU Make, compile executable programs from C source code, and test and debug your programs with the GNU debugger. In three sections, this authoritative book covers: C language concepts and language elements, with separate chapters on types, statements, pointers, memory management, I/O, and more The C standard library, including an overview of standard headers and a detailed function reference Basic C programming tools in the GNU software collection, with instructions on how use them with the Eclipse IDE


Beginning Java 8 Fundamentals

Beginning Java 8 Fundamentals

Author: Kishori Sharan

Publisher: Apress

Published: 2014-06-24

Total Pages: 810

ISBN-13: 1430266538

DOWNLOAD EBOOK

Beginning Java 8 Fundamentals provides a comprehensive approach to learning the Java programming language, especially the object-oriented fundamentals necessary at all levels of Java development. Author Kishori Sharan provides over 90 diagrams and 240 complete programs to help beginners and intermediate level programmers learn the topics faster. Starting with basic programming concepts, the author walks you through writing your first Java program step-by-step. Armed with that practical experience, you'll be ready to learn the core of the Java language. The book continues with a series of foundation topics, including using data types, working with operators, and writing statements in Java. These basics lead onto the heart of the Java language: object-oriented programming. By learning topics such as classes, objects, interfaces, and inheritance you'll have a good understanding of Java's object-oriented model. The final collection of topics takes what you've learned and turns you into a real Java programmer. You'll see how to take the power of object-oriented programming and write programs that can handle errors and exceptions, process strings and dates, format data, and work with arrays to manipulate data.


MMIXware

MMIXware

Author: Donald E. Knuth

Publisher: Springer

Published: 2003-06-26

Total Pages: 559

ISBN-13: 3540466118

DOWNLOAD EBOOK

MMIX is a RISC computer designed by Don Knuth to illustrate machine-level aspects of programming. In the author's book series "The Art of Computer Programming", MMIX replaces the 1960s-style machine MIX. A particular goal in the design of MMIX was to keep its machine language simple, elegant, and easy to learn. At the same time, all of the complexities needed to achieve high performance in practice are taken into account. This book constitutes a collection of programs written in CWEB that make MMIX a virtual reality. Among other utilities, an assembler converting MMIX symbolic files to MMIX objects and two simulators executing the programs in given object files are provided. The latest version of all programs can be downloaded from MMIX's home page. The book provides a complete documentation of the MMIX computer and its assembly language. It also presents mini-indexes, which make the programs much easier to understand. A corrected reprint of the book has been published in August 2014, replacing the version of 1999.


Computer-based Problem Solving Process

Computer-based Problem Solving Process

Author: Teodor Rus

Publisher: World Scientific

Published: 2015-03-19

Total Pages: 367

ISBN-13: 9814663751

DOWNLOAD EBOOK

One side-effect of having made great leaps in computing over the last few decades, is the resulting over-abundance in software tools created to solve the diverse problems. Problem solving with computers has, in consequence, become more demanding; instead of focusing on the problem when conceptualizing strategies to solve them, users are side-tracked by the pursuit of even more programming tools (as available).Computer-Based Problem Solving Process is a work intended to offer a systematic treatment to the theory and practice of designing, implementing, and using software tools during the problem solving process. This method is obtained by enabling computer systems to be more Intuitive with human logic rather than machine logic. Instead of software dedicated to computer experts, the author advocates an approach dedicated to computer users in general. This approach does not require users to have an advanced computer education, though it does advocate a deeper education of the computer user in his or her problem domain logic.This book is intended for system software teachers, designers and implementers of various aspects of system software, as well as readers who have made computers a part of their day-today problem solving.


Modern X86 Assembly Language Programming

Modern X86 Assembly Language Programming

Author: Daniel Kusswurm

Publisher: Apress

Published: 2018-12-06

Total Pages: 617

ISBN-13: 1484240634

DOWNLOAD EBOOK

Gain the fundamentals of x86 64-bit assembly language programming and focus on the updated aspects of the x86 instruction set that are most relevant to application software development. This book covers topics including x86 64-bit programming and Advanced Vector Extensions (AVX) programming. The focus in this second edition is exclusively on 64-bit base programming architecture and AVX programming. Modern X86 Assembly Language Programming’s structure and sample code are designed to help you quickly understand x86 assembly language programming and the computational capabilities of the x86 platform. After reading and using this book, you’ll be able to code performance-enhancing functions and algorithms using x86 64-bit assembly language and the AVX, AVX2 and AVX-512 instruction set extensions. What You Will Learn Discover details of the x86 64-bit platform including its core architecture, data types, registers, memory addressing modes, and the basic instruction set Use the x86 64-bit instruction set to create performance-enhancing functions that are callable from a high-level language (C++) Employ x86 64-bit assembly language to efficiently manipulate common data types and programming constructs including integers, text strings, arrays, and structures Use the AVX instruction set to perform scalar floating-point arithmetic Exploit the AVX, AVX2, and AVX-512 instruction sets to significantly accelerate the performance of computationally-intense algorithms in problem domains such as image processing, computer graphics, mathematics, and statistics Apply various coding strategies and techniques to optimally exploit the x86 64-bit, AVX, AVX2, and AVX-512 instruction sets for maximum possible performance Who This Book Is For Software developers who want to learn how to write code using x86 64-bit assembly language. It’s also ideal for software developers who already have a basic understanding of x86 32-bit or 64-bit assembly language programming and are interested in learning how to exploit the SIMD capabilities of AVX, AVX2 and AVX-512.


ASSEMBLY LANGUAGE PROGRAMMING IN GNU/LINUS FOR IA32 ARCHITECTURES

ASSEMBLY LANGUAGE PROGRAMMING IN GNU/LINUS FOR IA32 ARCHITECTURES

Author: RAJAT MOONA

Publisher: PHI Learning Pvt. Ltd.

Published: 2009-01-14

Total Pages: 472

ISBN-13: 9788120331563

DOWNLOAD EBOOK

This book provides an easy-to-understand, step-by-step approach to learning the fundamentals of Assembly language programming for Intel’s architectures, using a GNU/Linux-based computer as a tool. Offering students of computer science and engineering a hands-on learning experience, the book shows what actions the machine instructions perform, and then presents sample programs to demonstrate their application. The book is suitable for use during courses on Microprocessors, Assembly language programming, and Computer Organization in order to understand the execution model of processors. This knowledge also helps strengthen concepts when students go on to study operating systems and compiler construction. The concepts introduced are reinforced with numerous examples and review exercises. An Instructor’s CD provides all the programs given in the book and the solutions to exercises. Key Features • Discusses programming guidelines and techniques of using Assembly language programs • Shows techniques to interface C and Assembly language programs • Covers instructions from general purpose instruction sets of IA32 processors • Includes MMX and MMX-2 instructions • Covers SSE and SSE-2 instructions • Explains input-output techniques and their use in GNU/Linux-based computers • Explains GNU/Linux system calls along with methods to use them in programs • Provides a list of suggested projects • Gives ample references to explore further


C Primer Plus

C Primer Plus

Author: Stephen Prata

Publisher: Pearson Education

Published: 2014

Total Pages: 1068

ISBN-13: 0321928423

DOWNLOAD EBOOK

Explains fundamental programming concepts, including structured code and top-down design.


Instruction-Level Parallelism

Instruction-Level Parallelism

Author: B.R. Rau

Publisher: Springer Science & Business Media

Published: 2012-12-06

Total Pages: 279

ISBN-13: 1461532000

DOWNLOAD EBOOK

Instruction-Level Parallelism presents a collection of papers that attempts to capture the most significant work that took place during the 1980s in the area of instruction-level (ILP) parallel processing. The papers in this book discuss both compiler techniques and actual implementation experience on very long instruction word (VLIW) and superscalar architectures.