| |
| |
Acknowledgments | |
| |
| |
| |
Introduction to Software Development | |
| |
| |
Life Cycle of a Software Development Projects | |
| |
| |
Components of a Development System | |
| |
| |
Selection Criteria for Hardware Platform | |
| |
| |
Selection Criteria for Software Development Tools | |
| |
| |
Managing Development Process | |
| |
| |
Linux Development Platform Specifications (LDPS) and Linux Standard Base (LSB) | |
| |
| |
References | |
| |
| |
| |
Working With Editors | |
| |
| |
What to Look for in an Editor | |
| |
| |
Emacs | |
| |
| |
Jed | |
| |
| |
VIM | |
| |
| |
References and Resources | |
| |
| |
| |
Compilers and Assemblers | |
| |
| |
Introduction to GNU C and C++ Compilers | |
| |
| |
Installing GNU Compiler | |
| |
| |
Compiling a Program | |
| |
| |
Linking a program | |
| |
| |
Assembling a Program | |
| |
| |
Handling Warning and Error messages | |
| |
| |
Include files | |
| |
| |
Creating Libraries | |
| |
| |
Standard Libraries | |
| |
| |
Compiling Pascal Programs | |
| |
| |
Compiling Fortran Programs | |
| |
| |
Other Compilers | |
| |
| |
References and Resources | |
| |
| |
| |
Using GNU make | |
| |
| |
Introduction to GNU make | |
| |
| |
The make Rules | |
| |
| |
Using Variables | |
| |
| |
Working with Multiple Makefiles and Directories | |
| |
| |
Special Features of make | |
| |
| |
Control Structures and Directives | |
| |
| |
Getting the Latest Version and Installation | |
| |
| |
References and Resources | |
| |
| |
| |
Working with GNU Debugger | |
| |
| |
Introduction to GDB | |
| |
| |
Getting Started with GDB | |
| |
| |
Being Debugged | |
| |
| |
Controlling Execution | |
| |
| |
Working with the Stack | |
| |
| |
Displaying Variables | |
| |
| |
Adding Break Points | |
| |
| |
Debugging Optimized Code | |
| |
| |
Files and Shared Libraries | |
| |
| |
Using gdb With GNU Emacs | |
| |
| |
Debugging Running Processes | |
| |
| |
Installing GDB | |
| |
| |
Other Open Source Debuggers | |
| |
| |
References and Resources | |
| |
| |
| |
Introduction to CVS | |
| |
| |
CVS Policies | |
| |
| |
Project Management and Communication | |
| |
| |
Installing and Managing CVS | |
| |
| |
Using the CVS Client | |
| |
| |
Introduction to jCVS | |
| |
| |
Using Emacs with CVS | |
| |
| |
Secure remote access with CVS | |
| |
| |
References and Resources | |
| |
| |
| |
Miscellaneous Tools | |
| |
| |
Using indent Utility | |
| |
| |
Using sed Utility | |
| |
| |
Using diff Utility | |
| |
| |
Using cscope and cbrowser | |
| |
| |
Generating C Function Prototypes from C Source Code Using cproto | |
| |
| |
Using ltrace and strace Utilities | |
| |
| |
Using GNU Binary Utilities | |
| |
| |
Using the ldd Utility | |
| |
| |
References and Resources | |
| |
| |
| |
Cross-Platform and Embedded Systems Development | |
| |
| |
Introduction to the Cross-Platform Development Process | |
| |
| |
What are Embedded Systems? | |
| |
| |
How Development Systems Differ for Embedded Systems | |
| |
| |
Cross Compilations | |
| |
| |
Connecting to Target | |
| |
| |
Hardware Used for Cross Platform and Embedded Systems | |
| |
| |
Development | |
| |
| |
References | |
| |
| |
| |
Platform Independent Development with Java | |
| |
| |
How Java Applications Work | |
| |
| |
Kaffe | |
| |
| |
The Jboss Java Development System | |
| |
| |
Java 2 SDK | |
| |
| |
Building Java Applications | |
| |
| |
Building Applets | |
| |
| |
Testing Applets with Netscape | |
| |
| |
Jikes for Java | |
| |
| |
Miscellaneous | |
| |
| |
References | |
| |
| |
| |
Typical Hardware Requirements for a Linux Development Workstation | |
| |
| |
Index | |