Presentation is loading. Please wait.

Presentation is loading. Please wait.

CPS120: Introduction to Computer Science Compiling Your First Program.

Similar presentations


Presentation on theme: "CPS120: Introduction to Computer Science Compiling Your First Program."— Presentation transcript:

1 CPS120: Introduction to Computer Science Compiling Your First Program

2 Compilers  An engine that works on your behalf to process instructions and allow you to deal with various basic rules of the language  The compiler’s job is to make sure you follow the rules, to require that you provide enough information that the compiler can translate you instructions into languages the components can understand

3 Compilers Available  Products range from freeware compilers to work environments designed for commercial application development  Borland C++ compiler  CodeWarrior  IBM Visual Age C++  Microsoft Visual C++  GNU freeware  DJGPP freeware ( www.delorie.com/djgpp/ )www.delorie.comdjgpp

4 Compilation Process 1. Get the set of instructions from you (source file) 2. Review the instructions to see if they violate the rules (syntax) of the language 3. If all the rules are obeyed, create a working file in the language of the computer (machine language) 4. Attach to the working file full instructions for any shortcuts you may have used (linkage) 5. Assemble a final file in machine language (executable)

5 Source Code  The set of instruction that you will develop on your own for processing by the compiler

6 Executable Files  A machine-language executable file created when the compilation process is complete  All that is needed to run the program  Not human-readable  Has the extension.EXE  Stored in binary form  Copies may be distributed (portable)  Known as an application

7 Compiling and Debugging  Executable code will not be created until you correct all of the syntax errors in your source code  Then the fun (with logic errors) begins

8 Creating Source Code Files Actually Compiling a Program

9 Creating Source Code  Programmers spend most of their time with source code files  Need to be comfortable with an editor that creates text files  Don’t use a word processor

10 Using the Visual Studio Editor  Save often because there is no autosave in Visual C++  The editor will do matching of delimiters and intelligent indentation

11 Using C++ Actually Compiling a Program

12 C++ Usages & Conventions  C++ is absolutely case sensitive  For Instance: A is 97 in ASCII and a is 65  Remember: in ASCII {, [, and ( are not equivalent  No keywords in ANSI standard are even partially uppercase  ‘While’ is not a keyword, ‘while’ is

13 Comments  Document what is happening, why it is happening and other issues  Commentary is ignored by the compiler  C++ has inline, block and documentary comments  Inline comments are within line of code  Use the // symbols  Block comments are long comments delimited with /* and */

14 Scope Delimiters  A symbol or pair of symbols used to define a region or area which is considered a locale  In programming, many structures need to have their scope defined because they should not affect the entire program  In C++, the symbols ‘{‘ and ‘}’ are used

15 Literals  Literals are system commands and other pieces of information that the compiler doesn’t understand, and therefore, takes your word for them  In C++, literals are enclosed in straight double quotes " " which is the shift of the apostrophe

16 Columns and White Space  Modern programming languages are free form with delimiters instead of columns to determine the end of instructions  The ; (semi-colon) is the delimiter used in C++  Use tabs, indents, and blank lines in any manner that makes code easier to understand  Many programming instructions become subordinate to other instructions due to scope and other restrictions. Formatting code to reflect this makes it easier to read

17 Variables  Variables or identifiers are used to hold information  Usually mixed case with the first letters small and the rest starting with a capital  e.g. theWeight

18 Color Coding in Visual C++ Editor  Comments are green and are ignored by the compiler  All ANSI keywords are coded in blue  Other code is in plain black  Compiler keywords like cin and cout are also shown in black

19 Setting Up a Visual C++ Workspace 1. Left-click START 2. In the program section, select Visual Studio or Visual C++ (depending on what is installed) 3. Left click on the Visual C++ icon to load the environment 4. Create a new work area by choosing FILE/NEW 5. Choose FILES tab 6. Click on the C++ Source File to reach the editor i. Add a filename and directory before continuing  e.g. c:/cppFun/myFirstCpp

20 Setting Up a Visual C++ Workspace 7. Create the directory with START / EXPLORE 8. Double-click the drive letter 9. Choose FILE, NEW FOLDER 10. Left click on FOLDER 11. Change new folder to cppFUN 12. Close Explorer with the X 13. Back in Visual C++, type myFirstCpp in the file box 14. Click OK and get back to the main edit screen

21 Setting Up a Visual C++ Workspace 15. Enter the source code 16. After entering the program, FILE then SAVE

22 Why Create New Subdirectories?  You should always use subdirectories to store your files. Visual C++ creates quite a few work files when it generates the executable file for you source code, and they will be easy to dispose of if you keep everything together in one convenient place.

23 Running the Program 1. Press the REBUILD ALL button. It has two arrows in a box 2. Press the RUN button. It is a red exclamation point

24 Disk Space Issues  Text files are insignificant in terms of space  However, at least six other files are created every time something is compiled  Some of these are significantly larger  You can delete anything but the file with the.cpp suffix; everything else can be recreated  You probably also want the.exe file

25 An Introduction to Debugging CPS120 Introduction to Computer Science Lecture 5

26 Compiling and Debugging  Executable code will not be created until you correct all of the syntax errors in your source code

27 Syntax and Logic Errors  A syntax error is simply the violation of the rules of a language; misuse of structure and form in programming or a violation of the compiler’s rules. These errors are detected by the compiler  Also know as 'fatal compilation errors'  A logic error is a mistake that complies with the rules of the compiler that causes the program to generate incorrect output

28 Linker Errors  Not all syntax errors are detectable by the compiler  These errors do not become apparent until files are put together to create an executable  These errors are not linked to a specific line of code  Look for the name of the variable and see what lines of code it occurs on using EDIT and FIND >LNIK2001: unresolved external >LNK1120: unresolved externals

29 Debugging  Debugging is the process of locating and fixing or bypassing bugs (errors) in computer program code or the engineering of a hardware device.bugs  To debug a program or hardware device is to start with a problem, isolate the source of the problem, and then fix it.

30 Debugging Objective 1. Find the line(s) containing the syntax error(s) using the compiler's chosen line and error messages as a starting point

31 Debugging is an Art  Compilers often miss reporting an actual error and report on subsequent lines which are effected by error but may be completely correct  After encountering a real syntax error, compilers often generate many incorrect syntax error messages  Different compilers produce different errors and warnings for the same errors in the same program

32 Debugging Steps 1. Proofread before compiling 2. Compile 3. Correct all the obvious errors >Start at the beginning of the list of errors and warnings >A single syntax error may cause the compiler to believe numerous other syntax errors are occurring >Look at the error lines and if you see the error, fix it. Otherwise, leave it for later. It may vanish when you fix something else >Don’t worry if more errors appear. Some errors mask other errors

33 Debugging Steps 4. Recompile when you have fixed what you recognize 5. Repeat 3 & 4 until no further errors are obvious 6. Attempt to solve the remaining errors in a top- down fashion 7. Solve whatever errors you can without spending long periods of time on any given error 8. Recompile whenever you feel you don’t see any further solutions

34 Debugging Aids 1. In the Visual C++ (and other GUI-based compilers) double-clicking on an error message move the cursor to the line where the compiler detected the error  This may not be the actual line where the error occurred – don’t trust the compiler on lines 2. Work from the beginning of the program, because in most compilers, the errors are detected from the beginning to end, sequentially 3. Some errors are so severe, they stop the compiler from continuing so more errors may appear after you successfully fix one or more

35 A Debugging Mindset  Assume your syntax is wrong. Look it up!  Add working comments as you change things  If you are 100% sure a line is correct, then search for a syntax error in the lines ABOVE that line  Start with the immediately previous line and work backward  Never make a change you can’t explain

36 Sample Debugging Comment cuot << "This is a line of code"<< endl; /*************Debug************* Error is undeclared identifier 1. Checked syntax for endl 2. Check syntax for screen output -- cuot is misspelled */

37 Warnings  Actions that may represent problems but do not cause the compiler to flag an error  Don’t ignore warnings  Most common warning is a ‘typecasting’ warning  Indicates that the conversion of one type of a number was moved to a number (variable) of a different type without inclusion of a typecasting operation >E.G. – Moving a float to an integer variable

38 Disk Space Issues  If the floppy is full or becomes full during the compilation process, the compile will fail with an error message such as:  fatal error C1033: cannot open program database  A very cryptic message like this can result  If you are not able to view all of the intermediate files created in a compile, suspect a space error


Download ppt "CPS120: Introduction to Computer Science Compiling Your First Program."

Similar presentations


Ads by Google