object oriented programming cop3330 cgs5409 assignment
play

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:


  1. Object Oriented Programming COP3330 / CGS5409

  2.  Assignment Submission Overview  Compiling with g++  Using Makefiles  Misc. Review

  3.  Programs submitted through course web page  http://www.cs.fsu.edu/~jestes/cop3330  Link: “Click me, if you dare…”

  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!

  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

  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 of the numeric digits 0 or 1  Hang on to this password, it will be needed all semester!

  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

  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

  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

  10.  The base command for the Gnu C compiler is "gcc"  The base command for the Gnu C++ compiler is "g++"

  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

  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>

  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".

  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

  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

  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

  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’

  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

  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

  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’

  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

  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

  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

Recommend


More recommend