SLIDE 1
Object Oriented Programming COP3330 / CGS5409 Assignment Submission - - PowerPoint PPT Presentation
Object Oriented Programming COP3330 / CGS5409 Assignment Submission - - PowerPoint PPT Presentation
Object Oriented Programming COP3330 / CGS5409 Assignment Submission Overview Compiling with g++ Using Makefiles Misc. Review Programs submitted through course web page http://www.cs.fsu.edu/~jestes/cop3330 Link:
SLIDE 2
SLIDE 3
Programs submitted through course web
page
http://www.cs.fsu.edu/~jestes/cop3330 Link: “Click me, if you dare…”
SLIDE 4
Submit source files only!
- Only .cpp and .h files
- DO NOT INCLUDE BINARIES!
- If more than one file, upload each individually
Use FSU SN
- Social Security number will not work
Require additional submission passwords
- NOT THE SAME AS FSU/CS PASSWORDS!
SLIDE 5
Feedback from submission:
- (1) a directory listing of files submitted for that
assignment so far
- (2) a copy of the file just submitted
Do not e-mail asking for confirmation!
- Verify submission with above methods
SLIDE 6
The FSU SN is typed with dashes (i.e. AB3-
45-6789, not AB3456789)
Passwords are all 8 characters long The passwords do not contain any instances
- f the numeric digits 0 or 1
Hang on to this password, it will be needed
all semester!
SLIDE 7
Make sure to follow all submission
instructions carefully
Homework submitted by e-mail to the
instructor or me will NOT BE GRADED!
Can re-submit an updated file that was
previously submitted
- Will overwrite previous attempt
SLIDE 8
One late day submission is allowed (with a
letter grade deduction) on assignments
After that time, course web site WILL NOT
accept submissions
MAKE SURE TO SUBMIT BY THIS TIME
SLIDE 9
Assignment Submission Practice Option on the submission page called
"Assignment 0“
http://ww2.cs.fsu.edu/~jestes/cop3330/sub
mit3330/html/primary_class_page_w_counter .html
Will not be graded
SLIDE 10
The base command for the Gnu C compiler is
"gcc"
The base command for the Gnu C++
compiler is "g++"
SLIDE 11
To compile a program that is in a single file,
the easiest compilation uses the command format: g++ <filename>
Where the filename ends with ".cpp“ Example:
g++ prog1.cpp
SLIDE 12
To invoke the Compile stage, which translates
source code (.cpp files) into object code (.o files), use the -c flag. Format: g++ -c <filename>
To name a target (something other than the
default filename, use the -o flag. Format:
g++ -o <target_name> <remainder of command>
SLIDE 13
g++ -o yadda.o -c fraction.cpp
- This command invokes just the compile stage on fraction.cpp, but names
the object code file "yadda.o" (instead of the default "fraction.o").
g++ -o bob.exe circle.o main.o
- This command links the two object code files ("circle.o" and "main.o") into
an executable, called "bob.exe" (instead of the default "a.out").
g++ -o myProgram thing.cpp main.cpp
- This command compiles and links (since -c not used) the code files
"thing.cpp" and "main.cpp" together into the executable program called "myProgram".
SLIDE 14
Source code is just text! For the purposes of assignments, ANY text
editor can be used to
Practice with at least one Unix text editor
create code files
- For unix beginners, "pico" is recommended, due to
easy learning curve.
- Emacs, Vim, MUCH more powerful
SLIDE 15
Understand how to log into both CS
machines:
- linprog.cs.fsu.edu
- program.cs.fsu.edu
Use SSH (Secure SHell) client to login Files created on a windows machine can be
FTP-ed to CS accounts with the SFTP feature built into the SSH software
SLIDE 16
Usage:
sftp [username@]hostname
get filename
- retrieve remote file
put filename
- upload local file
Standard Unix commands:
- cd, ls, pwd, chmod, rename, rm, mkdir, rmdir, help, quit
Alternatively, GUI File Managers
- WinSCP - Free Windows client with SFTP capability
- FileZilla - Open source cross-platform GUI client
SLIDE 17
Unix system has what is called a ‘make’ utility Configuration file to assist with compilation Simple text file, should be named either
‘makefile’ or ‘Makefile’
SLIDE 18
Idea of the ‘target’
- What is able to be ‘made’?
Dependency list
- What needs to be re-made each time?
Command list, and formatting
- i.e. it must
must be preceded by a single ‘tab’ character
Extra targets, like ‘clean’, for cleanup
- target that lists a cleanup command (like the remove
‘rm’ command)
More than one target
- placing a target like ‘all’ at the top, and listing the
executables made by the file as the dependency list
SLIDE 19
# This is a comment line # Sample makefile for fraction class frac: main.o frac.o g++ -o frac main.o frac.o main.o: main.cpp frac.h g++ -c main.cpp frac.o: frac.cpp frac.h g++ -c frac.cpp clean: rm *.o frac
SLIDE 20
frac: main.o frac.o g++ -o frac main.o frac.o
Specifies ‘frac’ as the target Depends on main.o and frac.o If either of these files changed since the last
build, then ‘frac’ must be rebuilt
Links two object code files together into a
target executable called ‘frac’
SLIDE 21
main.o: main.cpp frac.h g++ -c main.cpp
Specifies how to built the target ‘main.o’ Depends on main.cpp and frac.h If either file changes, main.o must be rebuilt Uses normal g++ commands for the compile
stage
SLIDE 22
Any section can be invoked specifically with
the command: make <target_name>
For instance, to build only the ‘frac.o’ target,
use: make frac.o
SLIDE 23
clean: rm *.o frac
The target name is ‘clean’ Executes the remove command (‘rm’) Removes the object code file(s) and the
executable(s) from the current directory
SLIDE 24