Software Management - PowerPoint PPT Presentation

1 / 18
About This Presentation
Title:

Software Management

Description:

CVS is not a build system it is independent of Makefiles, but may contain them. CVS uses RCS to track changes to individual files. ... CVS concepts ... – PowerPoint PPT presentation

Number of Views:73
Avg rating:3.0/5.0
Slides: 19
Provided by: andrew345
Category:

less

Transcript and Presenter's Notes

Title: Software Management


1
Software Management
COMP 121-401 UNIX Programming
  • Andrew Nashel
  • nashel_at_cs.unc.edu
  • Department of Computer Science
  • January 28, 2004

2
On managing software
The structure of a system reflects the structure
of the organization that built it. Richard E.
Fairley Good judgment comes from experience,
and experience comes from bad judgment. Fred
Brooks
3
Course topics
  • Quiz!
  • Software Management
  • IDEs
  • Make
  • Makefiles
  • Version control
  • CVS
  • Core files

4
Quiz 1
  • No computers, books, or notes.
  • 10 minutes.
  • Ask me if you have any questions!

5
IDEs
  • Integrated Development Environments are a
    collection of development tools
  • Compiler
  • Linker
  • Editor
  • Debugger
  • Project Management

6
IDEs Visual Studio
7
IDEs - emacs
8
What is Make?
  • Make is a tools to generate executables from
    source code, based upon the instructions in a
    makefile.
  • Make can be used to install, configure and even
    uninstall software. Make is not language
    specific, though the following examples will use
    C/C.

9
What is a makefile?
  • Makefiles are sets of rules used to build
    targets, by executing a series of commands on the
    source files.
  • Basic rule structure
  • target dependencies
  • commands

10
How do you run make?
  • When you execute make, you specify a target to
    update (or else it will update the first target
    in the file), and make figures out which inputs
    need to be updated.
  • Make uses the makefile to determine which targets
    need to be brought up to date if a target is
    newer than its dependencies, then it is already
    up to date.

11
Makefile example
  • edit main.o command.o display.o
  • cc -o edit main.o command.o display.o
  • main.o main.c defs.h
  • cc -c main.c
  • command.o command.c defs.h command.h
  • cc -c command.c
  • display.o display.c defs.h buffer.h
  • cc -c display.c
  • clean
  • rm edit main.o command.o display.o

12
Making Makefiles easier
  • You can use variables as well
  • objects main.o command.o display.o
  • edit (objects)
  • cc -o edit (objects)
  • clean
  • rm edit (objects)

13
Variants of Make
  • Make exists on Unix and Windows, and many other
    platforms. The are many variants and extensions
  • imake makefile generator
  • cmake cross platform make
  • Visual Studio projects a type of
    Microsoft-specific makefile

14
Source/version control
  • Source control or revision control systems are
    tools for one or more developers to track changes
    to source code over time.
  • Source control systems include
  • SCCS, RCS, CVS, SourceSafe, BitKeeper

15
CVS
  • Concurrent versions system is a common source
    control system.
  • CVS is not a build system it is independent of
    Makefiles, but may contain them. CVS uses RCS to
    track changes to individual files.

16
CVS concepts
  • A collection of RCS files, called a module, are
    stored in a CVS repository, separate from the
    users files.
  • You checkout modules to work on them, modify the
    code and then commit the changes to the
    repository. You can then release (and delete)
    the module.

17
What is a core file?
  • A core file is created when a program crashes and
    terminates. It contains a snapshot of the
    program memory, which can be used for debugging,
    a.k.a. a core dump.
  • You may want to create a non-writable core file
    in your home directory, in case applications
    crash, to prevent core dumps.

18
Homework for Fri., Jan 30
  • No homework!
  • Upcoming topics
  • Scripting
  • Debugging
Write a Comment
User Comments (0)
About PowerShow.com