C++ Programming in Visual Studio

download C++ Programming in Visual Studio

of 33

Transcript of C++ Programming in Visual Studio

  • 8/14/2019 C++ Programming in Visual Studio

    1/33

    CSE 232: C++Programming in Visual Studio

    Graphical Development Environments for C++ Eclipse

    Widely available open-source debugging environment

    Available on Windows, Linux, others Designed to use g++ and other existing open-source tools

    Unfortunately not working on Urbauer Windows machines

    Visual Studio Specific to Windows but still widely used

    Excellent multi-threaded debugger, eases Windows development

    Uses Visual C++ (and other tools for other languages)

    Works fine on Urbauer machines, so well use this for now

  • 8/14/2019 C++ Programming in Visual Studio

    2/33

    CSE 232: C++Programming in Visual Studio

    Overview of Todays Session Start Visual Studio and create a C++ project

    Look at the code and files it generated automatically

    Create a simple hello, world! program

    Build, fix, and repeat until the program compiles

    Set breakpoints and step over lines of the program

    Look at the programs output in the debug terminal Stepping off the end of the main program

    Into the crtexe.c file from which the main function is called

    Try printing out the programs name (in argv[0])

    Look at different syntaxes for the main function How those different forms treat argc and argv, for example

  • 8/14/2019 C++ Programming in Visual Studio

    3/33

    CSE 232: C++Programming in Visual Studio

    Starting Visual Studio

  • 8/14/2019 C++ Programming in Visual Studio

    4/33

    CSE 232: C++Programming in Visual Studio

    Choosing Visual C++

  • 8/14/2019 C++ Programming in Visual Studio

    5/33

    CSE 232: C++Programming in Visual Studio

    Click on Create Project

  • 8/14/2019 C++ Programming in Visual Studio

    6/33

    CSE 232: C++Programming in Visual Studio

    Choose Win32

  • 8/14/2019 C++ Programming in Visual Studio

    7/33CSE 232: C++Programming in Visual Studio

    Fill in Project Name

  • 8/14/2019 C++ Programming in Visual Studio

    8/33CSE 232: C++Programming in Visual Studio

    Click Finish to Create the Project

  • 8/14/2019 C++ Programming in Visual Studio

    9/33CSE 232: C++Programming in Visual Studio

    Which May Take it a While to Do

  • 8/14/2019 C++ Programming in Visual Studio

    10/33CSE 232: C++Programming in Visual Studio

    Visual Studio Generated Several Files

  • 8/14/2019 C++ Programming in Visual Studio

    11/33CSE 232: C++Programming in Visual Studio

    Provided StdAFX Header File

  • 8/14/2019 C++ Programming in Visual Studio

    12/33CSE 232: C++Programming in Visual Studio

    Provided StdAFX Source File

  • 8/14/2019 C++ Programming in Visual Studio

    13/33CSE 232: C++Programming in Visual Studio

    Provided Readme.txt File

  • 8/14/2019 C++ Programming in Visual Studio

    14/33

    CSE 232: C++Programming in Visual Studio

    Have the Program Print Out Hello, World

  • 8/14/2019 C++ Programming in Visual Studio

    15/33

    CSE 232: C++Programming in Visual Studio

    Build the Program

  • 8/14/2019 C++ Programming in Visual Studio

    16/33

    CSE 232: C++Programming in Visual Studio

    What do the Errors Tell Us We Missed?

    C d P

  • 8/14/2019 C++ Programming in Visual Studio

    17/33

    CSE 232: C++Programming in Visual Studio

    Corrected Program

    B ild A i

  • 8/14/2019 C++ Programming in Visual Studio

    18/33

    CSE 232: C++Programming in Visual Studio

    Build Again

    S f l C il ti

  • 8/14/2019 C++ Programming in Visual Studio

    19/33

    CSE 232: C++Programming in Visual Studio

    Successful Compilation

    S tti N B k i t

  • 8/14/2019 C++ Programming in Visual Studio

    20/33

    CSE 232: C++Programming in Visual Studio

    Setting a New Breakpoint

    B k i t i th i F ti

  • 8/14/2019 C++ Programming in Visual Studio

    21/33

    CSE 232: C++Programming in Visual Studio

    Breakpoint in the main Function

    St t D b i

  • 8/14/2019 C++ Programming in Visual Studio

    22/33

    CSE 232: C++Programming in Visual Studio

    Start Debugging

    D b St t th B k i t

  • 8/14/2019 C++ Programming in Visual Studio

    23/33

    CSE 232: C++Programming in Visual Studio

    Debugger Stops at the Breakpoint

    St i th Fi t Li

  • 8/14/2019 C++ Programming in Visual Studio

    24/33

    CSE 232: C++Programming in Visual Studio

    Stepping over the First Line

    Aft St i O O

  • 8/14/2019 C++ Programming in Visual Studio

    25/33

    CSE 232: C++Programming in Visual Studio

    After Stepping Over Once

    P O t t i T i l Wi d

  • 8/14/2019 C++ Programming in Visual Studio

    26/33

    CSE 232: C++Programming in Visual Studio

    Program Output in Terminal Window

    Stepping O er a Second Time

  • 8/14/2019 C++ Programming in Visual Studio

    27/33

    CSE 232: C++Programming in Visual Studio

    Stepping Over a Second Time

    At The End of the main Function

  • 8/14/2019 C++ Programming in Visual Studio

    28/33

    CSE 232: C++Programming in Visual Studio

    At The End of the main Function

    What if we Stepped Over Once More?

  • 8/14/2019 C++ Programming in Visual Studio

    29/33

    CSE 232: C++Programming in Visual Studio

    What if we Stepped Over Once More?

    In the crtexe c file (calls different Mains)

  • 8/14/2019 C++ Programming in Visual Studio

    30/33

    CSE 232: C++Programming in Visual Studio

    In the crtexe.c file (calls different Mains)

    F5 or Continue to Complete the Run

  • 8/14/2019 C++ Programming in Visual Studio

    31/33

    CSE 232: C++Programming in Visual Studio

    F5 or Continue to Complete the Run

    All Done (can close crtexe c now)

  • 8/14/2019 C++ Programming in Visual Studio

    32/33

    CSE 232: C++Programming in Visual Studio

    All Done (can close crtexe.c now)

    A Couple More Things to Try

  • 8/14/2019 C++ Programming in Visual Studio

    33/33

    CSE 232: C++ Programming in Visual Studio

    A Couple More Things to Try

    Exercise: what do you see when you have theprogram print out argv[0]? Why does it print that?

    What is it printing vs. what we saw in previous sessions?

    Exercise: change syntax of the main function tomatch what we used in earlier sessions What does printing argv[0] show now?

    What if you print out the other program arguments?