Linux Development Platform: Configuring, Using, and Maintaining a Complete Programming Environment docx

317 310 0
Linux Development Platform: Configuring, Using, and Maintaining a Complete Programming Environment docx

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

The Linux Development Platform Configuring, Using, and Maintaining a Complete Programming Environment 9 780130 091154 99949 ISBN 013009115-4 B RUCE P ERENS ’ O PEN S OURCE S ERIES ◆ Implementing CIFS: The Common Internet File System Christopher R. Hertel ◆ Embedded Software Development with eCos Anthony J. Massa ◆ The Linux Development Platform: Configuring, Using, and Maintaining a Complete Programming Environment Rafeeq Ur Rehman, Christopher Paul elements from the cover to be added — info to come from Jill and/or Mark hp_perens_series.fm Page 1 Monday, September 23, 2002 10:03 AM SERIES PAGE INSERTS HERE The Linux Development Platform Configuring, Using, and Maintaining a Complete Programming Environment Rafeeq Ur Rehman Christopher Paul Prentice Hall PTR Upper Saddle River, New Jersey 07458 www.phptr.com Library of Congress Cataloging-in-Publication Data A CIP catalog record for this book can be obtained from the Library of Congress. Editorial/production supervision: Mary Sudul Cover design director: Jerry Votta Cover design: DesignSource Manufacturing manager: Alexis Heydt-Long Acquisitions editor: Jill Harry Editorial assistant: Kate Wolf Marketing manager: Dan DePasquale © 2003 Pearson Education, Inc. Publishing as Prentice Hall PTR Upper Saddle River, New Jersey 07458 This material may be distributed only subject to the terms and conditions set forth in the Open Publication License, v1.0 or later (the latest version is presently available at <http://www.opencontent.org/openpub/>). Prentice Hall books are widely used by corporations and government agencies for training, marketing, and resale. The publisher offers discounts on this book when ordered in bulk quantities. For more information, contact Corporate Sales Department, Phone: 800-382-3419; FAX: 201-236-7141; E-mail: corpsales@prenhall.com Or write: Prentice Hall PTR, Corporate Sales Dept., One Lake Street, Upper Saddle River, NJ 07458. Other product or company names mentioned herein are the trademarks or registered trademarks of their respective owners. All rights reserved. No part of this book may be reproduced, in any form or by any means, without permission in writing from the publisher. Printed in the United States of America 10987654321 ISBN 0-13-009115-4 Pearson Education LTD. Pearson Education Australia PTY, Limited Pearson Education Singapore, Pte. Ltd. Pearson Education North Asia Ltd. Pearson Education Canada, Ltd. Pearson Educación de Mexico, S.A. de C.V. Pearson Education — Japan Pearson Education Malaysia, Pte. Ltd. To Asia, Afnan, and Faris for their love and support. —Rafeeq Ur Rehman To Cheryl, Rachel, and Sarah for the moral support and unending encouragement to complete this project. I’d be lost without you. —Christopher Paul vii C ONTENTS Acknowledgments xvii Chapter 1 Introduction to Software Development 1 1.1 Life Cycle of a Software Development Project 2 1.1.1 Requirement Gathering 2 1.1.2 Writing Functional Specifications 4 1.1.3 Creating Architecture and Design Documents 4 1.1.4 Implementation and Coding 5 1.1.5 Testing 6 1.1.6 Software Releases 8 1.1.7 Documentation 8 1.1.8 Support and New Features 9 1.2 Components of a Development System 10 1.2.1 Hardware Platform 10 1.2.2 Operating System 11 1.2.3 Editors 11 1.2.4 Compilers and Assemblers 12 1.2.5 Debuggers 12 1.2.6 Version Control Systems 12 1.2.7 E-mail and Collaboration 13 viii Contents 1.2.8 X-Windows 13 1.3 Selection Criteria for Hardware Platform 13 1.4 Selection Criteria for Software Development Tools 14 1.5 Managing Development Process 14 1.5.1 Creating Deadlines 14 1.5.2 Managing the Development Team 15 1.5.3 Resolving Dependencies 15 1.6 Linux Development Platform Specifications (LDPS) and Linux Standard Base (LSB) 15 1.6.1 Libraries 15 1.6.2 Current Contributors to LSB 16 1.7 References 16 Chapter 2 Working With Editors 17 2.1 What to Look for in an Editor 17 2.1.1 Extensibility 17 2.1.2 Understanding Syntax 18 2.1.3 Tag Support 18 2.1.4 Folding Code 18 2.2 Emacs 18 2.2.1 Using Emacs 19 2.2.2 Basic Emacs Concepts 20 2.2.3 Using Buffers and Windows 24 2.2.4 Language Modes 26 2.2.5 Using Tags 27 2.2.6 Compiling 30 2.2.7 Xemacs 32 2.3 Jed 32 2.3.1 Configuring Jed 33 2.3.2 Using Jed 34 2.3.3 Folding Code 35 2.4 VIM 37 2.4.1 VIM Concepts 38 2.4.2 Basic Editing 38 2.4.3 Using Tags with VIM 41 2.4.4 Folding Code 42 2.5 References and Resources 42 Contents ix Chapter 3 Compilers and Assemblers 43 3.1 Introduction to GNU C and C++ Compilers 44 3.1.1 Languages Supported by GCC 44 3.1.2 New Features in GCC 3.x 46 3.2 Installing GNU Compiler 48 3.2.1 Downloading 48 3.2.2 Building and Installing GCC 48 3.2.3 Environment Variables 54 3.2.4 Post-Installation Tasks 56 3.2.5 What Not to Do when Installing Development Tools 58 3.3 Compiling a Program 58 3.3.1 Simple Compilation 59 3.3.2 Default File Types 60 3.3.3 Compiling to Intermediate Levels 61 3.3.4 Compilation with Debug Support 63 3.3.5 Compilation with Optimization 64 3.3.6 Static and Dynamic Linking 65 3.3.7 Compiling Source Code for Other Languages 66 3.3.8 Summary of gcc Options 70 3.4 Linking a program 91 3.5 Assembling a Program 91 3.6 Handling Warning and Error messages 92 3.7 Include files 92 3.8 Creating Libraries 92 3.9 Standard Libraries 93 3.10 Compiling Pascal Programs 94 3.10.1 Using Free Pascal (fpc) 95 3.10.2 Using GNU Pascal 96 3.11 Compiling Fortran Programs 96 3.12 Other Compilers 98 3.12.1 Smalltalk 98 3.12.2 Oberon 98 3.12.3 Ruby 98 3.13 References and Resources 98 Chapter 4 Using GNU make 101 4.1 Introduction to GNU make 102 4.1.1 Basic Terminology 103 [...]... References Chapter 9 9.1 Platform Independent Development with Java How Java Applications Work 9.1.1 Java Compiler 9.1.2 Java Virtual Machine 9.2 Kaffe 9.3 The Jboss Java Development System 9.4 Java 2 SDK 9.4.1 Java 2 SDK Standard Edition 9.4.2 Getting and Installing Java SDK from Sun 9.4.3 Creating jar Files 9.5 Building Java Applications 9.5.1 Creating Source Code File 9.5.2 Compiling Java Code 9.5.3... cheap and the maintenance cost is also low Usually UNIX workstations have high performance and stability as compared to PC-based solutions You also need to keep in mind availability of development tools on a particular platform If the target system is the same as the host system on which development is done, the development is relatively easy and native tools are cheap as well, compared to cross-platform... Availability of development tools Hardware platform Native or cross compiling Some operating systems are cheaper than others Linux is an excellent choice, as far as cost is concerned Linux is also a very good operating system as it has all of the development tools available Now you can install Linux on high-end workstations from Sun Microsystems, HP, and IBM as well as commodity PC hardware available everywhere... After reading this chapter, you should understand how software development is done and the components of a software development system At 1 2 Chapter 1 • Introduction to Software Development the end of the chapter, you will find an introduction to Linux Standard Base This chapter is not specific to a particular hardware platform or tools You will start learning about components of an actual software development. .. software development project has to go through at least the following stages: • • • • • • • • Requirement gathering Writing functional specifications Creating architecture and design documents Implementation and coding Testing and quality assurance Software release Documentation Support and new features Figure 1-1 shows a typical development process for a new product There may be many additional steps and. .. process starts After the initial development phase, software testing begins, and many times it is done in parallel with the development process Documentation is also part of the development process because a product cannot be brought to market without manuals Once development and testing are done, the software is released and the support cycle begins This phase may include bug fixes and new releases After... cif ica tio Coding and implementation n Bug fixes New features Testing and quality assurance Support Software release Customer Figure 1-1 Typical processes for software development projects usually create a Marketing Requirement Document or MRD that contains formal data representation of market data gathered Spend some time doing market research and analysis Consider your competitors’ products (if any),... Internet can be used to provide secure access to the central software repository Selection Criteria for Hardware Platform 13 There are other version control systems as well which are popular in the software development community Examples are Aegis, PRCS, RCS and SCCS 1.2.7 E-mail and Collaboration In any software development project, collaboration among developers, designers and architects as well as marketing... important hardware decision is the selection of PCs and workstations for developers There is no hard and fast rule about how to select a particular hardware platform It depends upon the requirements of a development project Some factors that you may keep in mind are as follows: • Cost of the hardware • Availability of desired operating system on the hardware For example, you can’t run HP-UX on PCs • Availability... development is a complicated process It requires careful planning and execution to meet the goals Sometimes a developer must react quickly and aggressively to meet everchanging market demands Maintaining software quality hinders fast-paced software development, as many testing cycles are necessary to ensure quality products S This chapter provides an introduction to the software development process As you . Education Malaysia, Pte. Ltd. To Asia, Afnan, and Faris for their love and support. —Rafeeq Ur Rehman To Cheryl, Rachel, and Sarah for the moral support and unending. Software Development with eCos Anthony J. Massa ◆ The Linux Development Platform: Configuring, Using, and Maintaining a Complete Programming Environment

Ngày đăng: 08/03/2014, 23:20

Từ khóa liên quan

Tài liệu cùng người dùng

  • Đang cập nhật ...

Tài liệu liên quan