CS 450 MPX PROJECT Introduction to Turbo C WHY USE TURBO C? Many ANSI C compilers are available for free, however they lack certain features that Turbo C offers Basically, we recommend using Turbo C because it will automatically inject assembly code into your project, so you don’t have to. Turbo C also organizes all of your source files into a project and makes compiling and linking as simple as a single click. Turbo C provides low level mechanisms for hardware access Dr. Mooney’s website contains a download for Turbo C++ version 3. My website contains a link to download Turbo C version 1. Versions 1, 2, and 3 should work. Any screen shots and specifics in this slide show will be from Turbo C 1, because that is what I use. Options/layouts may be slightly different in other versions, but the functionality is still the same. Manuals I2 and I4 contains more information. TURBO C IDE The Turbo C IDE (shown on next slide) is inconvenient to use, at best. I recommend using a different IDE to write your code, and using Turbo C to compile it. Personally, I recommend an open source program named Notepad++. Others have used Visual Studio or notepad. Use whatever you are most comfortable with. TURBO C IDE TURBO C PROJECTS In order to properly compile your executables, you need to create a Turbo C project. A Turbo C project is a collection of C source files (.C) that you wish to compile and link together (Header files do not go into projects) To create a project: Select “Open Project” from the “Project” menu Navigate to the directory containing all of your source files In the text box, give your project a name, make sure it has the .MPX extension and click OK. Then, either press the “Insert” key or select “Add Item” from the “Project” menu and double click on each source file that you want to add to the project. You can now select “Build All” from the “Compile” menu to compile and link your project You can run your project by selecting “Run” from the “Run” menu or by executing the .EXE file directly TURBO C PROJECTS TURBO C PROJECTS TURBO C OPTIONS There are a number of Turbo C options. I recommend turning the “Full Menu” option on if you use Version 1. For all versions, however, the following options must be set in order for the project to run correctly: Memory model: large Standard Stack Frame: on Options->Compiler->Code Generation->More Turbo C++ keywords: selected Options->Compiler->Code Generation Assume SS equals DS: never (off) Options->Compiler->Code Generation Test Stack Overflow: on Options->Compiler->Code Generation Options->Compiler->Source Case sensitive link: off Options->Compiler->Code Generation->Linker TURBO C DEBUGGER Turbo C has a debugger which allows you to set breakpoints, set watches, etc. like many other compilers. I’m not going to go over it, you can find a wealth of information on that type of debugger on the internet. OTHER DEBUGGING FEATURES By selecting “Trace Into” from the “Run” menu or pressing F7, you can execute your program, one line at a time. Also available is the “Step Over” function (F8). This allows you to “step” over function calls as you are running your program. I have found these to be the most useful debugging tools for MPX. It will allow you to see precisely where in your code a crash is occurring. Another useful feature that can be used in conjunction with the trace tools is the “Registers” window (select “Registers” from the “Window” menu). This will show the values in the registers as the program is executing, which will allow you to see precisely which line a register is being set to an incorrect value. REGISTER WINDOW GENERAL TURBO C TIPS If you are having problems- getting weird errors, random crashes that don’t seem to be a problem with your code: Make sure the options are set correctly Delete the Turbo C project (.PRJ file), as well as any .DSK files, and recreate the project Turbo C does not auto save your source files when you compile. Make sure you select “save all” before compiling if you are editing files from within Turbo C. If you want to edit your files in another IDE, make sure they are closed in Turbo C. That is- make sure the project is open, but the files themselves are not open in Turbo C. By doing this, any time you change a file in another editor, you can recompile with the changes immediately in Turbo C.