CAD practical programming part I C++ initiation and introduction to Gnurbs
|
|
- Gordon Pierce
- 7 years ago
- Views:
Transcription
1 CAD practical programming part I C++ initiation and introduction to Gnurbs Introduction to C++ Download the archive CAD_TP1_Code.zip on the course web page ( In the folder 1erMaster on the desktop, create a folder in your name. Then unzip the archive there. The archive contains three folders for each program that we will use in this lab. Getting Started with the Development Environment During these labs you will use the programming software Code::Blocks to edit the source code of your programs, compile the source (i.e. turn it into executable) and run your executable. For practical reasons, the programs written in C++ are often written using separate files. Therefore, development environments such as Code::Blocks propose to combine the source files of a program as a Project. Besides the list of source files involved, the project also contains instructions for compiling and executing. It can also ease the navigation into the source code. The first step before you start programming with Code::Blocks is to create the project. In order to start, go to the folder of the first example program ( example1 ). Although this is not very useful here because our current program consist in a single file, we will use CMake to generate the Code::Blocks Project. The procedure will remain the same for future programs. The advantage of CMake is that it can generate projects for several compilers (Code::Blocks, Borland C++, Visual Studio...) and several operating systems (Linux, Windows, Mac...) from the same source files. Creating the Project Start CMake: click on the CMake button on the menu on the left. In the input field Where is the source code enter the name of the directory where is your source code. Normally it is: /home/user/bureau/1ermaster/lastnames/example1 In the Where to build the binaries field, enter the same path and add /project at the end. It is in this directory that will be generated the Code::Blocks project. Then click Configure to start the configuration. Click Yes when CMake asks if the directory project should be created. In the window that appears select CodeBlocks Unix Makefiles in the drop-down menu. Then confirm by clicking Finish. 1
2 The configuration takes a few seconds, after which CMake displays several variables. Keep the default values. Confirm the values by clicking again on Configure and then Generate in order to generate the project. Your folder /home/user/bureau/1ermaster/lastnames/example1/project now contains a file named EXEMPLE1.cpb. This file is the Code::Blocks project generated by CMake. Open the project file. Development environment The opening of the project file triggers the display of the Code::Blocks development environment. A window similar to the one shown below appears. The main elements of the development environment are: The browser that allows you to list the source files and open them in the editor. For example, you can open the source file main.cpp (single file in this example program) to display it in the editor. The source code editor to modify it. Toolbars. You can for example select the target to compile or run and then compile and run the program. The Build target selector allows selection of a particular target to build. This is useful when a project contains several executables or if we want to build debugs versions of a given executable. The message window that display errors and compilation warnings. 2
3 As we will see, this example program is very simple. Before launching, it is mandatory to compile, which means converting the human-readable source code (text files) into machine code (executable file.exe). Before starting the compilation, select the target EXEMPLE1 in the menu Build target. To start the compilation, simply click on the button in the toolbar. Once the compilation is complete, the executable EXEMPLE1.exe is created in the directory /home/user/bureau/1ermaster/lastnames/example1/project. You can run it by clicking on the button located right next to the button Compile. The window shown on the right then opens. Description of the source code The program is very short; it only displays the text Hello World! on the screen and ends by returning the value 0. To study its running, return to the Code::Blocks and edit the file main.cpp. It contains a single function called main. main is the name given conventionally main function in C and C++. During the program execution, the main function is always the function that will be executed first. Execution occurs line by line, beginning with the first line of the main function. Its source code is the following: #include <iostream> int main() std::cout<<"hello world!"<<std::endl; return 0; It contains various elements: The file begins with the keyword include, preceded by the character #. This character # means that we call a special feature of the compiler, named the preprocessor. Before the compilation itself the preprocessor will scan all source files in search for texts to include, replace, concatenate, etc. Here the keyword include followed by a file named iostream means: include the code of the file iostream at this location of the current file main.cpp. The file iostream (for input/ouput stream ) is part of the C++ Standard Template Library (STL) and regroups several functions (and classes) for performing input and output operations on the screen and the keyboard. There are numerous other files in the STL providing useful other functions. The next keyword is int which means integer. It defines the type of the value returned by the function. Other basic (primitive) types exist in C/C++. Later we will use e.g. the type double corresponding to a floating point number in double precision. Then we have the function name main followed by the argument list () which is empty in this case. The function body is delimited by curly brackets. The implementation of the function begins with and ends with. 3
4 The line std::cout << Hello world! << std::endl; displays the text Hello world! in the console. std::cout is the standard output display flux ( std stands for standard ). std::endl indicates the need to put a new line after the string Hello world!. ( endl means end of line ) Note that the line code ends with a semicolon ;. Indeed, this line corresponds to one instruction and each instruction has to finish with a semicolon. If you forget the semicolon after one instruction, this will lead to a compilation error. The statement return 0; causes the end of the main function with the return value of 0, which is an integer as indicated at the beginning of the function. The end of the main marks the end of the program. How to add comments into the code: You can insert a comment line by starting a line with // // This is a comment on one line. The multi-line comments start with /* and end with */ /* These are comments on several lines. Comment 1... Comment Comment n... */ It is recommended to add comments describing your code in order to improve the readability of your prose to other people (and to yourself!) Changing the program To practice, we will modify the program to be able to orthogonalize two vectors. Vectors To use the vector in C++, you must first add at the beginning of the file main.cpp : #include <vector> Then in the main function, if you want to create a vector of double (double precision floating point number) called x and that has three components, use the following syntax: std::vector<double> x(3); 4
5 This syntax works with all types of data, for example, if you want to create a vector of integers, we replace double by int. At this point two major differences are to be emphasized in regards to the programming languages you are accustomed: The index of the first element of the vector is 0 (not 1 as in Matlab). Vector operations such as the scalar product, the addition, subtraction... of two vectors are not defined in C++ (not for std::vector< >). Therefore these operations must be done component-wise using a loop. After creating (declaring) the vector x, we have to initialize its components. Component are accessed with the [] and assigned with = x[0]= 1.5; x[1]= 2.3; x[2]=-1.0; Loops The C++ provides various types of loops. In this introduction, we will limit ourselves to the for loop. The generic syntax of a for loop is as follows: int i; for(i=0; i<10; i++)... The first line is simply a declaration of an integer variable i (which is the index of our loop). The for loop begins at the second line. i=0 means that we assign (initialize) the value 0 to i at the beginning of the loop. The instruction i<10 indicates that the loop will be repeated while i is strictly smaller than 10. And finally, i++ means that i will be incremented by one at each iteration of the loop (i++ is equivalent to i=i+1). As with functions, the content of the loop is enclosed by curly brackets. For example, if we want to compute the dot product of two vectors x and y with three components, we use the following instructions: double prosca=0; int i; for(i=0; i<3; i++) prosca += x[i]*y[i]; prosca double precision variable is declared and initialized to 0 at the first line. The loop then calculates the dot product component by component using the += operator to shorten the writing. The instruction: prosca += x[i]*y[i]; is in fact equivalent to: prosca = prosca + x[i]*y[i]; These two instructions are equivalent and mean: Set the new value of prosca as the old value of prosca plus the value of x[i]*y[i]. 5
6 An example for the whole code can be the following: Program 1 #include <iostream> #include <vector> int main() // The execution begins here // Declares two vectors x and y of length 3. std::vector<double> x(3), y(3); // Initializes vector x. x[0]= 1.5; x[1]= 2.3; x[2]=-1.0; // Initializes vector y. y[0]= 2.5; y[1]=-2.1; y[2]=-0.2; // Computes the dot product of two vectors x and y. double prosca=0; int i; for(i=0; i<3; i++) prosca += x[i]*y[i]; // Show the result. std::cout<< Dot product: <<prosca<<std::endl; // End of the execution Returns 0 ( everything went ok ) to the OS. return 0; 6
7 Global functions Functions are used to avoid code duplication. Using functions increases code readability and performances. For example, in program 1, the loop computing the dot product of two vectors should be put into a function. In so doing, we can use the same code for computing dot product between different vectors without copying it again and again. Application: modify program 1 by adding the following code before the main function. double prodscal(std::vector<double> a, std::vector<double> b) double prosca = 0; int i; int taille = a.size(); for(i=0; i<taille; i++) prosca += a[i]*b[i]; return prosca; As we can see, the definition of a global function is very similar to the main function. The main features of this function are the following: The signature of the function is: double prodscal(std::vector<double> a, std::vector<double> b) The signature contains three items: 1. The returned type. Here the function returns a scalar value of type double. 2. The name. The function s name is here prodscal 3. The list of arguments. Here, the function gets to arguments a and b which are std::vector of double. Functions with different signatures are considered to be different. It is then possible to define two different functions with the same name; as long as their signatures (returned value and/or list of arguments) are different. It is however recommended to define different functions with different names in order to avoid any confusion. The body of the function is delimited by braces. int taille = a.size(); allows to retrieve the size/length of vector a. return prosca; tells what is the returned value of the function. Here, it is the value computed in prosca. In the main function, we can now use the function prodscal instead of the loop: double prosca = prodscal(x, y); 7
8 Application: orthogonalization of two vectors. The orthogonalization of two vectors x and y is done by subtracting to y its projection on x: Where the projection p is: Implement this orthogonalization process and check at the end of the program that x and y are indeed orthogonal by recomputing their dot product. Tips: Use the above function prodscal for computing the dot product. Define a new function double norm(std::vector<double> x) which computes the euclidean norm of a vector. This function will use the function prodscal and the function double sqrt(double), which computes the square root of a number. You will need to add the line #include <cmath> at the beginning of the file. This file defines mathematical functions as sin, cos, tan, etc. Pointers and references In C++ two main mechanisms are used to store the address of a variable: pointers and references. Pointers Variables are stored in the RAM. To each variable an address is associated. A pointer is a variable that stores the address of another variable. RAM name : var value : 2 address : 0x3452ef34 name : p value : 0x3452ef34 address : 0xafd4e567 A pointer p to a variable of type type (int, double, std::vector ) is declared with the following syntax: type *p; 8
9 The pointer p is set to point to the variable var as follow: p = &var; Where the symbol & means get the address of var. Pointers must be handled with care. Indeed, uninitialized pointers can point anywhere in the RAM. Manipulating uninitialized pointers can lead to uncontrolled behavior and even destabilize the entire OS. It is therefore always a good idea to initialize a pointer. If the initialization value is not known, it is always possible to initialize the pointer to the NULL value. This value means: this pointer is pointing to nowhere. type *p = NULL; // Default value: p is pointing to nowhere. // Some code. p = &var; // p is pointing to variable var. The access to the value of var through the pointer p is done by dereferencing the pointer thanks to the dereference operator *. Here are some examples: double var=2; // Declares a variable of type double and set it to 2. double *p = &var; // p now points to var. std::cout<<*p<<std::endl; // Shows the value of var: 2. *p = 3; // var is now equal to 3. std::cout<<var<<std::endl;// Shows the value of var. std::cout<<p<<std::endl; //!! Shows the ADDRESS of var. Pointers are useful for avoiding the copy of arguments when they are passed to a function. For example, when the function prodscal is called, its arguments a and b are temporary copied. double prodscal(std::vector<double> a, std::vector<double> b) There are three main disadvantages to this approach: Increase in the RAM usage because of the copy of two vectors that can be potentially very long. Loss of computation time due to the copy of the two vectors. The function prodscal cannot modify the original vectors as it works with copies. RAM std::vector x Function prodscal std::vector a copy of x std::vector y std::vector b copy of y 9
10 Pointers can address these problems by using the following modified function prototype: double prodscal(std::vector<double> *a, std::vector<double> *b) The problems are then solved in the following way: Only pointers are copied. The increase in the RAM usage is only a few bits, regardless of the length of the vectors. Copying pointers is very fast. The function prodscal can now modify the original vectors. RAM std::vector x Function prodscal std::vector y *a *b However, the drawback is that pointers require changes in the implementation of the function. a.size() must be replaced by a->size() because the calling convention of a function by a pointer is different from the one used by a variable. a[i] and b[i] have to be replaced by (*a)[i] and (*b)[i] because it is necessary to dereference a pointer before using operators such as []. References References address the drawbacks of pointers and are more handy and transparent than pointers. A reference r to a variable var of type type is declared and initialized as follow: type &r = var; Note that, unlike pointers, a reference must always be initialized when declared. For accessing the value of var through its reference r, it is not necessary to dereference a reference. Technically, a reference is a dereferenced constant pointer. pointer: because, like pointers, a reference does not involve memory copy of the variable it refers to. constant: because, unlike pointers, a reference can only refer to one object and cannot be set to refer another object. dereferenced: because a reference does not need the dereference operator * for accessing the content of a variable. References can be seen as aliases of variables: the same memory content is referenced by two different names; as the two names Don Diego de la Vega and Zorro refer to the same person. 10
11 The above examples given for pointers can be translated for references as follows: double var=2; // Declares a variable of type double and set it to 2. double &r = var; // r now refers to var. std::cout<<r<<std::endl; // Shows the value of var: 2. r = 3; // var is now equal to 3. std::cout<<var<<std::endl;// Shows the value of var. std::cout<<r<<std::endl; //!! Shows the CONTENT of var. References can be used for passing arguments to a function with all the advantages of pointers and without the drawbacks of pointers. For example, the prototype of the function prodscal becomes: double prodscal(std::vector<double> &a, std::vector<double> &b) And that s it! No further changes are required in the body of the function. RAM std::vector x std::vector y Function prodscal kown as std::vector a kown as std::vector b Application: By starting from your last code for orthogonalizing two vectors, define a function orthogonalize which gets two vectors x and y passed by reference. At the end of the function, the argument y must be modified by the function orthogonalize. 11
12 GNURBS Gnurbs is a small software written in C++ that allows creating, visualizing and manipulating curves and surfaces. Adding features to this code is the topic of the next practical sessions. During this session, we will limit ourselves to a few simple exercises in order to better understand the organization of the code. Creating the Code::Blocks project and compiling. The first step is to create the Code::Blocks project and to compile a first executable. Gnurbs source code is included in the archive CAD_TP1_Code.zip. 1. Run CMake and change fields values Where is the source code and Where to build the binaries as follows: a. Where is the source code /home/user/bureau/1ermaster/lastnames/tp1/gnurbstp1 b. Where to build the binaries /home/user/bureau/1ermaster/lastnames/tp1/gnurbstp1/project 2. Then, click on Configure. Under Linux, CMake automatically locates the VTK libraries. On Windows it is necessary to change the value of the parameter VTK_DIR to C:/VTK/lib/cmake/vtk Click again on Configure and then click Generate. 4. Open the Code::Blocks project created into the project folder. 5. Select the Build target curve-static corresponding to the example program. 6. Run the compilation. 7. Execute the example program. The executable example shows a Lagrange curve on the screen. Control points of this curve are aligned with each other. There are different ways of interactions with the graphical interface: Mouse: Left button: rotates the camera. Scroll wheel: zoom. Left click on a control point: move the control point. Keyboard: r: replace the camera at its default position. q: close the window. 12
13 Homework When writing codes, humans are error prone. Luckily, the compiler can catch most of these errors and tells humans where they are wrong. It is therefore important to understand the compiler messages. The following pieces of code contain errors. Try to detect and correct them with the help of the compiler. Warning: some errors will NOT be detected by the compiler. #include <iostream> int main() int a = 3; std::cout << A << std::endl; return 0; #include <iostream> int main() int a = 3 std::cout << a << std::endl; return 0; #include <iostream> int main() double x = 2; std::cout << "Square of x = " << sqr(x) << std::endl; return 0; double sqr(double a) return (a*a); #include <iostream> // No compilation error here, but the answer is wrong. // Can you guess why? int main() double x = 10e e38; std::cout << x << std::endl; return 0; #include <iostream> #include <vector> int main() // Segmentation fault* at the execution here. Why? //* Means out of memory access. std::vector<double> a; a[0] = 9.0; std::cout << a[0] << std::endl; return 0; 13
14 Main primitive types in C/C++ Type Description Typical bit width Typical range char character 1 byte -127 to 127 unsigned char unsigned character 1 byte 0 to 255 int integer 4 bytes -2,147,483,648 to 2,147,483,647 unsigned int unsigned integer 4 bytes 0 to 4,294,967,295 short int short integer 2 bytes -32,768 to 32,767 unsigned short int unsigned short integer 2 bytes 0 to 65,535 long int (64 bits systems only) unsigned long int (64 bits systems only) long integer 4 bytes 9,223,372,036,854,775,808 to +9,223,372,036,854,775,807 unsigned long integer 4 bytes 0 to 18,446,744,073,709,551,615 float floating number 4 bytes +/- 3.4 x 10 +/- 38 (~7 digits) double void double precision number empty or undefined(!) type 8 bytes +/- 1.7x 10 +/- 308 (~15 digits) not applicable How to navigate the STL: C++ Reference not applicable The web site C++ Reference ( or just type C++ Reference in Google) is a comprehensive listing of all the C and C++ standard functions and classes. If you wonder how to use a given function or class, you can just look for it in this website. For example, by typing vector into the search field at the top of the page, you can see that the class vector<any_type> owns a function returning its size. We strongly recommend you to first refer to this web site when you have questions like Does that function exist? or What does that function? Moreover, this website shows numerous and easy to understand example of how using a given function/class. Where to learn more about C++? The website openclassroom (former site du zero ) provides extensive lessons for a lot of programming languages and is very well suited for beginners. See for more information. 14
Sources: On the Web: Slides will be available on:
C programming Introduction The basics of algorithms Structure of a C code, compilation step Constant, variable type, variable scope Expression and operators: assignment, arithmetic operators, comparison,
More informationEmbedded Systems. Review of ANSI C Topics. A Review of ANSI C and Considerations for Embedded C Programming. Basic features of C
Embedded Systems A Review of ANSI C and Considerations for Embedded C Programming Dr. Jeff Jackson Lecture 2-1 Review of ANSI C Topics Basic features of C C fundamentals Basic data types Expressions Selection
More informationAppendix K Introduction to Microsoft Visual C++ 6.0
Appendix K Introduction to Microsoft Visual C++ 6.0 This appendix serves as a quick reference for performing the following operations using the Microsoft Visual C++ integrated development environment (IDE):
More informationName: Class: Date: 9. The compiler ignores all comments they are there strictly for the convenience of anyone reading the program.
Name: Class: Date: Exam #1 - Prep True/False Indicate whether the statement is true or false. 1. Programming is the process of writing a computer program in a language that the computer can respond to
More informationIllustration 1: Diagram of program function and data flow
The contract called for creation of a random access database of plumbing shops within the near perimeter of FIU Engineering school. The database features a rating number from 1-10 to offer a guideline
More informationThe programming language C. sws1 1
The programming language C sws1 1 The programming language C invented by Dennis Ritchie in early 1970s who used it to write the first Hello World program C was used to write UNIX Standardised as K&C (Kernighan
More informationHow to test and debug an ASP.NET application
Chapter 4 How to test and debug an ASP.NET application 113 4 How to test and debug an ASP.NET application If you ve done much programming, you know that testing and debugging are often the most difficult
More informationCreating Database Tables in Microsoft SQL Server
Creating Database Tables in Microsoft SQL Server Microsoft SQL Server is a relational database server that stores and retrieves data for multi-user network-based applications. SQL Server databases are
More informationarrays C Programming Language - Arrays
arrays So far, we have been using only scalar variables scalar meaning a variable with a single value But many things require a set of related values coordinates or vectors require 3 (or 2, or 4, or more)
More informationInformatica e Sistemi in Tempo Reale
Informatica e Sistemi in Tempo Reale Introduction to C programming Giuseppe Lipari http://retis.sssup.it/~lipari Scuola Superiore Sant Anna Pisa October 25, 2010 G. Lipari (Scuola Superiore Sant Anna)
More informationAutoDWG DWGSee DWG Viewer. DWGSee User Guide
DWGSee User Guide DWGSee is comprehensive software for viewing, printing, marking and sharing DWG files. It is fast, powerful and easy-to-use for every expert and beginners. Starting DWGSee After you install
More informationCode::Blocks Student Manual
Code::Blocks Student Manual Lawrence Goetz, Network Administrator Yedidyah Langsam, Professor and Theodore Raphan, Distinguished Professor Dept. of Computer and Information Science Brooklyn College of
More informationFirst Java Programs. V. Paúl Pauca. CSC 111D Fall, 2015. Department of Computer Science Wake Forest University. Introduction to Computer Science
First Java Programs V. Paúl Pauca Department of Computer Science Wake Forest University CSC 111D Fall, 2015 Hello World revisited / 8/23/15 The f i r s t o b l i g a t o r y Java program @author Paul Pauca
More informationData Tool Platform SQL Development Tools
Data Tool Platform SQL Development Tools ekapner Contents Setting SQL Development Preferences...5 Execution Plan View Options Preferences...5 General Preferences...5 Label Decorations Preferences...6
More informationBachelors of Computer Application Programming Principle & Algorithm (BCA-S102T)
Unit- I Introduction to c Language: C is a general-purpose computer programming language developed between 1969 and 1973 by Dennis Ritchie at the Bell Telephone Laboratories for use with the Unix operating
More informationBeginner s Matlab Tutorial
Christopher Lum lum@u.washington.edu Introduction Beginner s Matlab Tutorial This document is designed to act as a tutorial for an individual who has had no prior experience with Matlab. For any questions
More informationAthena Knowledge Base
Athena Knowledge Base The Athena Visual Studio Knowledge Base contains a number of tips, suggestions and how to s that have been recommended by the users of the software. We will continue to enhance this
More informationHypercosm. Studio. www.hypercosm.com
Hypercosm Studio www.hypercosm.com Hypercosm Studio Guide 3 Revision: November 2005 Copyright 2005 Hypercosm LLC All rights reserved. Hypercosm, OMAR, Hypercosm 3D Player, and Hypercosm Studio are trademarks
More informationThe C Programming Language course syllabus associate level
TECHNOLOGIES The C Programming Language course syllabus associate level Course description The course fully covers the basics of programming in the C programming language and demonstrates fundamental programming
More informationDWGSee Professional User Guide
DWGSee Professional User Guide DWGSee is comprehensive software for viewing, printing, marking and sharing DWG files. It is fast, powerful and easy-to-use for every expert and beginners. Starting DWGSee
More informationComputer Programming C++ Classes and Objects 15 th Lecture
Computer Programming C++ Classes and Objects 15 th Lecture 엄현상 (Eom, Hyeonsang) School of Computer Science and Engineering Seoul National University Copyrights 2013 Eom, Hyeonsang All Rights Reserved Outline
More informationUniversity of Hull Department of Computer Science. Wrestling with Python Week 01 Playing with Python
Introduction Welcome to our Python sessions. University of Hull Department of Computer Science Wrestling with Python Week 01 Playing with Python Vsn. 1.0 Rob Miles 2013 Please follow the instructions carefully.
More informationECDL. European Computer Driving Licence. Spreadsheet Software BCS ITQ Level 2. Syllabus Version 5.0
European Computer Driving Licence Spreadsheet Software BCS ITQ Level 2 Using Microsoft Excel 2010 Syllabus Version 5.0 This training, which has been approved by BCS, The Chartered Institute for IT, includes
More informationObject Oriented Software Design
Object Oriented Software Design Introduction to Java - II Giuseppe Lipari http://retis.sssup.it/~lipari Scuola Superiore Sant Anna Pisa October 28, 2010 G. Lipari (Scuola Superiore Sant Anna) Introduction
More informationCS 103 Lab Linux and Virtual Machines
1 Introduction In this lab you will login to your Linux VM and write your first C/C++ program, compile it, and then execute it. 2 What you will learn In this lab you will learn the basic commands and navigation
More informationExercise 4 Learning Python language fundamentals
Exercise 4 Learning Python language fundamentals Work with numbers Python can be used as a powerful calculator. Practicing math calculations in Python will help you not only perform these tasks, but also
More informationVisual Basic 2010 Essentials
Visual Basic 2010 Essentials Visual Basic 2010 Essentials First Edition 2010 Payload Media. This ebook is provided for personal use only. Unauthorized use, reproduction and/or distribution strictly prohibited.
More informationC++ INTERVIEW QUESTIONS
C++ INTERVIEW QUESTIONS http://www.tutorialspoint.com/cplusplus/cpp_interview_questions.htm Copyright tutorialspoint.com Dear readers, these C++ Interview Questions have been designed specially to get
More informationQlik REST Connector Installation and User Guide
Qlik REST Connector Installation and User Guide Qlik REST Connector Version 1.0 Newton, Massachusetts, November 2015 Authored by QlikTech International AB Copyright QlikTech International AB 2015, All
More informationScoping (Readings 7.1,7.4,7.6) Parameter passing methods (7.5) Building symbol tables (7.6)
Semantic Analysis Scoping (Readings 7.1,7.4,7.6) Static Dynamic Parameter passing methods (7.5) Building symbol tables (7.6) How to use them to find multiply-declared and undeclared variables Type checking
More informationHow To Port A Program To Dynamic C (C) (C-Based) (Program) (For A Non Portable Program) (Un Portable) (Permanent) (Non Portable) C-Based (Programs) (Powerpoint)
TN203 Porting a Program to Dynamic C Introduction Dynamic C has a number of improvements and differences compared to many other C compiler systems. This application note gives instructions and suggestions
More informationObject Oriented Software Design
Object Oriented Software Design Introduction to Java - II Giuseppe Lipari http://retis.sssup.it/~lipari Scuola Superiore Sant Anna Pisa September 14, 2011 G. Lipari (Scuola Superiore Sant Anna) Introduction
More informationTic, Tie & Calculate Quick Start Guide. Quick Start Guide
Quick Start Guide 1 Table of Contents Quick Start Guide... 3 Welcome to Tic, Tie & Calculate... 3 Features Overview... 3 Important Installation Notes... 3 Installation... 4 Step 1: Receive Account Creation
More informationC++ Programming Language
C++ Programming Language Lecturer: Yuri Nefedov 7th and 8th semesters Lectures: 34 hours (7th semester); 32 hours (8th semester). Seminars: 34 hours (7th semester); 32 hours (8th semester). Course abstract
More informationQ N X S O F T W A R E D E V E L O P M E N T P L A T F O R M v 6. 4. 10 Steps to Developing a QNX Program Quickstart Guide
Q N X S O F T W A R E D E V E L O P M E N T P L A T F O R M v 6. 4 10 Steps to Developing a QNX Program Quickstart Guide 2008, QNX Software Systems GmbH & Co. KG. A Harman International Company. All rights
More informationContent Author's Reference and Cookbook
Sitecore CMS 6.5 Content Author's Reference and Cookbook Rev. 110621 Sitecore CMS 6.5 Content Author's Reference and Cookbook A Conceptual Overview and Practical Guide to Using Sitecore Table of Contents
More informationA computer running Windows Vista or Mac OS X
lab File Management Objectives: Upon successful completion of Lab 2, you will be able to Define the terms file and folder Understand file and memory storage capacity concepts including byte, kilobyte,
More informationAn Incomplete C++ Primer. University of Wyoming MA 5310
An Incomplete C++ Primer University of Wyoming MA 5310 Professor Craig C. Douglas http://www.mgnet.org/~douglas/classes/na-sc/notes/c++primer.pdf C++ is a legacy programming language, as is other languages
More informationGetting Started using the SQuirreL SQL Client
Getting Started using the SQuirreL SQL Client The SQuirreL SQL Client is a graphical program written in the Java programming language that will allow you to view the structure of a JDBC-compliant database,
More informationPROBLEM SOLVING SEVENTH EDITION WALTER SAVITCH UNIVERSITY OF CALIFORNIA, SAN DIEGO CONTRIBUTOR KENRICK MOCK UNIVERSITY OF ALASKA, ANCHORAGE PEARSON
PROBLEM SOLVING WITH SEVENTH EDITION WALTER SAVITCH UNIVERSITY OF CALIFORNIA, SAN DIEGO CONTRIBUTOR KENRICK MOCK UNIVERSITY OF ALASKA, ANCHORAGE PEARSON Addison Wesley Boston San Francisco New York London
More informationVisual Basic Programming. An Introduction
Visual Basic Programming An Introduction Why Visual Basic? Programming for the Windows User Interface is extremely complicated. Other Graphical User Interfaces (GUI) are no better. Visual Basic provides
More informationPART-A Questions. 2. How does an enumerated statement differ from a typedef statement?
1. Distinguish & and && operators. PART-A Questions 2. How does an enumerated statement differ from a typedef statement? 3. What are the various members of a class? 4. Who can access the protected members
More informationVisual Studio 2008 Express Editions
Visual Studio 2008 Express Editions Visual Studio 2008 Installation Instructions Burning a Visual Studio 2008 Express Editions DVD Download (http://www.microsoft.com/express/download/) the Visual Studio
More informationJavaScript: Introduction to Scripting. 2008 Pearson Education, Inc. All rights reserved.
1 6 JavaScript: Introduction to Scripting 2 Comment is free, but facts are sacred. C. P. Scott The creditor hath a better memory than the debtor. James Howell When faced with a decision, I always ask,
More informationLecture 2 Mathcad Basics
Operators Lecture 2 Mathcad Basics + Addition, - Subtraction, * Multiplication, / Division, ^ Power ( ) Specify evaluation order Order of Operations ( ) ^ highest level, first priority * / next priority
More information3 IDE (Integrated Development Environment)
Visual C++ 6.0 Guide Part I 1 Introduction Microsoft Visual C++ is a software application used to write other applications in C++/C. It is a member of the Microsoft Visual Studio development tools suite,
More informationOperating Systems. and Windows
Operating Systems and Windows What is an Operating System? The most important program that runs on your computer. It manages all other programs on the machine. Every PC has to have one to run other applications
More informationSimple C++ Programs. Engineering Problem Solving with C++, Etter/Ingber. Dev-C++ Dev-C++ Windows Friendly Exit. The C++ Programming Language
Simple C++ Programs Engineering Problem Solving with C++, Etter/Ingber Chapter 2 Simple C++ Programs Program Structure Constants and Variables C++ Operators Standard Input and Output Basic Functions from
More informationXcode Project Management Guide. (Legacy)
Xcode Project Management Guide (Legacy) Contents Introduction 10 Organization of This Document 10 See Also 11 Part I: Project Organization 12 Overview of an Xcode Project 13 Components of an Xcode Project
More information13 Managing Devices. Your computer is an assembly of many components from different manufacturers. LESSON OBJECTIVES
LESSON 13 Managing Devices OBJECTIVES After completing this lesson, you will be able to: 1. Open System Properties. 2. Use Device Manager. 3. Understand hardware profiles. 4. Set performance options. Estimated
More informationMicrosoft Visual Studio 2010 Instructions For C Programs
Microsoft Visual Studio 2010 Instructions For C Programs Creating a NEW C Project After you open Visual Studio 2010, 1. Select File > New > Project from the main menu. This will open the New Project dialog
More informationCreating Web Services Applications with IntelliJ IDEA
Creating Web Services Applications with IntelliJ IDEA In this tutorial you will: 1. 2. 3. 4. Create IntelliJ IDEA projects for both client and server-side Web Service parts Learn how to tie them together
More informationXcode User Default Reference. (Legacy)
Xcode User Default Reference (Legacy) Contents Introduction 5 Organization of This Document 5 Software Version 5 See Also 5 Xcode User Defaults 7 Xcode User Default Overview 7 General User Defaults 8 NSDragAndDropTextDelay
More informationEmbroidery Fonts Plus ( EFP ) Tutorial Guide Version 1.0505
Embroidery Fonts Plus ( EFP ) Tutorial Guide Version 1.0505 1 Contents Chapter 1 System Requirements.................. 3 Chapter 2 Quick Start Installation.................. 4 System Requirements................
More informationTop 72 Perl Interview Questions and Answers
Top 72 Perl Interview Questions and Answers 1. Difference between the variables in which chomp function work? Scalar: It is denoted by $ symbol. Variable can be a number or a string. Array: Denoted by
More informationCreating Custom Crystal Reports Tutorial
Creating Custom Crystal Reports Tutorial 020812 2012 Blackbaud, Inc. This publication, or any part thereof, may not be reproduced or transmitted in any form or by any means, electronic, or mechanical,
More informationWaspmote IDE. User Guide
Waspmote IDE User Guide Index Document Version: v4.1-01/2014 Libelium Comunicaciones Distribuidas S.L. INDEX 1. Introduction... 3 1.1. New features...3 1.2. Other notes...3 2. Installation... 4 2.1. Windows...4
More informationINTRODUCTION to ESRI ARCGIS For Visualization, CPSC 178
INTRODUCTION to ESRI ARCGIS For Visualization, CPSC 178 1) Navigate to the C:/temp folder 2) Make a directory using your initials. 3) Use your web browser to navigate to www.library.yale.edu/mapcoll/ and
More informationQuickstart Tutorial. Bradford Technologies, Inc. 302 Piercy Road, San Jose, California 95138 800-622-8727 fax 408-360-8529 www.bradfordsoftware.
Quickstart Tutorial A ClickFORMS Tutorial Page 2 Bradford Technologies. All Rights Reserved. No part of this document may be reproduced in any form or by any means without the written permission of Bradford
More information- Hour 1 - Introducing Visual C++ 5
- Hour 1 - Introducing Visual C++ 5 Welcome to Hour 1 of Teach Yourself Visual C++ 5 in 24 Hours! Visual C++ is an exciting subject, and this first hour gets you right into the basic features of the new
More informationIBM FileNet eforms Designer
IBM FileNet eforms Designer Version 5.0.2 Advanced Tutorial for Desktop eforms Design GC31-5506-00 IBM FileNet eforms Designer Version 5.0.2 Advanced Tutorial for Desktop eforms Design GC31-5506-00 Note
More informationIBM Operational Decision Manager Version 8 Release 5. Getting Started with Business Rules
IBM Operational Decision Manager Version 8 Release 5 Getting Started with Business Rules Note Before using this information and the product it supports, read the information in Notices on page 43. This
More informationCode Estimation Tools Directions for a Services Engagement
Code Estimation Tools Directions for a Services Engagement Summary Black Duck software provides two tools to calculate size, number, and category of files in a code base. This information is necessary
More informationOhio University Computer Services Center August, 2002 Crystal Reports Introduction Quick Reference Guide
Open Crystal Reports From the Windows Start menu choose Programs and then Crystal Reports. Creating a Blank Report Ohio University Computer Services Center August, 2002 Crystal Reports Introduction Quick
More informationRunning your first Linux Program
Running your first Linux Program This document describes how edit, compile, link, and run your first linux program using: - Gnome a nice graphical user interface desktop that runs on top of X- Windows
More information2Creating Reports: Basic Techniques. Chapter
2Chapter 2Creating Reports: Chapter Basic Techniques Just as you must first determine the appropriate connection type before accessing your data, you will also want to determine the report type best suited
More information3. Programming the STM32F4-Discovery
1 3. Programming the STM32F4-Discovery The programming environment including the settings for compiling and programming are described. 3.1. Hardware - The programming interface A program for a microcontroller
More informationCode::Block manual. for CS101x course. Department of Computer Science and Engineering Indian Institute of Technology - Bombay Mumbai - 400076.
Code::Block manual for CS101x course Department of Computer Science and Engineering Indian Institute of Technology - Bombay Mumbai - 400076. April 9, 2014 Contents 1 Introduction 1 1.1 Code::Blocks...........................................
More informationFIRST STEPS WITH SCILAB
powered by FIRST STEPS WITH SCILAB The purpose of this tutorial is to get started using Scilab, by discovering the environment, the main features and some useful commands. Level This work is licensed under
More informationLecture 5: Java Fundamentals III
Lecture 5: Java Fundamentals III School of Science and Technology The University of New England Trimester 2 2015 Lecture 5: Java Fundamentals III - Operators Reading: Finish reading Chapter 2 of the 2nd
More informationTUTORIAL 4 Building a Navigation Bar with Fireworks
TUTORIAL 4 Building a Navigation Bar with Fireworks This tutorial shows you how to build a Macromedia Fireworks MX 2004 navigation bar that you can use on multiple pages of your website. A navigation bar
More informationThe VB development environment
2 The VB development environment This chapter explains: l how to create a VB project; l how to manipulate controls and their properties at design-time; l how to run a program; l how to handle a button-click
More informationJetBrains ReSharper 2.0 Overview Introduction ReSharper is undoubtedly the most intelligent add-in to Visual Studio.NET 2003 and 2005. It greatly increases the productivity of C# and ASP.NET developers,
More information10 STEPS TO YOUR FIRST QNX PROGRAM. QUICKSTART GUIDE Second Edition
10 STEPS TO YOUR FIRST QNX PROGRAM QUICKSTART GUIDE Second Edition QNX QUICKSTART GUIDE A guide to help you install and configure the QNX Momentics tools and the QNX Neutrino operating system, so you can
More informationG563 Quantitative Paleontology. SQL databases. An introduction. Department of Geological Sciences Indiana University. (c) 2012, P.
SQL databases An introduction AMP: Apache, mysql, PHP This installations installs the Apache webserver, the PHP scripting language, and the mysql database on your computer: Apache: runs in the background
More informationFile Management Windows
File Management Windows : Explorer Navigating the Windows File Structure 1. The Windows Explorer can be opened from the Start Button, Programs menu and clicking on the Windows Explorer application OR by
More informationStorage Classes CS 110B - Rule Storage Classes Page 18-1 \handouts\storclas
CS 110B - Rule Storage Classes Page 18-1 Attributes are distinctive features of a variable. Data type, int or double for example, is an attribute. Storage class is another attribute. There are four storage
More informationMoving from CS 61A Scheme to CS 61B Java
Moving from CS 61A Scheme to CS 61B Java Introduction Java is an object-oriented language. This document describes some of the differences between object-oriented programming in Scheme (which we hope you
More informationKPN SMS mail. Send SMS as fast as e-mail!
KPN SMS mail Send SMS as fast as e-mail! Quick start Start using KPN SMS mail in 5 steps If you want to install and use KPN SMS mail quickly, without reading the user guide, follow the next five steps.
More informationPCSpim Tutorial. Nathan Goulding-Hotta 2012-01-13 v0.1
PCSpim Tutorial Nathan Goulding-Hotta 2012-01-13 v0.1 Download and install 1. Download PCSpim (file PCSpim_9.1.4.zip ) from http://sourceforge.net/projects/spimsimulator/files/ This tutorial assumes you
More informationGetting Started with 1. Borland C++Builder Compiler
Getting Started with 1 Borland C++Builder Compiler Objectives To be able to install and configure the Borland C++Builder Compiler. To be able to use a text editor to create C/C++ programs. To be able to
More informationRuleBender 1.1.415 Tutorial
RuleBender 1.1.415 Tutorial Installing and Launching RuleBender Requirements OSX Getting Started Linux Getting Started Windows Getting Started Using the Editor The Main Window Creating and Opening Files
More informationInstalling Java. Table of contents
Table of contents 1 Jargon...3 2 Introduction...4 3 How to install the JDK...4 3.1 Microsoft Windows 95... 4 3.1.1 Installing the JDK... 4 3.1.2 Setting the Path Variable...5 3.2 Microsoft Windows 98...
More informationC++ Language Tutorial
cplusplus.com C++ Language Tutorial Written by: Juan Soulié Last revision: June, 2007 Available online at: http://www.cplusplus.com/doc/tutorial/ The online version is constantly revised and may contain
More informationLab 1 Beginning C Program
Lab 1 Beginning C Program Overview This lab covers the basics of compiling a basic C application program from a command line. Basic functions including printf() and scanf() are used. Simple command line
More informationEventia Log Parsing Editor 1.0 Administration Guide
Eventia Log Parsing Editor 1.0 Administration Guide Revised: November 28, 2007 In This Document Overview page 2 Installation and Supported Platforms page 4 Menus and Main Window page 5 Creating Parsing
More informationInstall Java Development Kit (JDK) 1.8 http://www.oracle.com/technetwork/java/javase/downloads/index.html
CS 259: Data Structures with Java Hello World with the IntelliJ IDE Instructor: Joel Castellanos e-mail: joel.unm.edu Web: http://cs.unm.edu/~joel/ Office: Farris Engineering Center 319 8/19/2015 Install
More informationDesigning and Implementing Forms 34
C H A P T E R 34 Designing and Implementing Forms 34 You can add forms to your site to collect information from site visitors; for example, to survey potential customers, conduct credit-card transactions,
More informationChapter One Introduction to Programming
Chapter One Introduction to Programming 1-1 Algorithm and Flowchart Algorithm is a step-by-step procedure for calculation. More precisely, algorithm is an effective method expressed as a finite list of
More informationContents. Launching FrontPage... 3. Working with the FrontPage Interface... 3 View Options... 4 The Folders List... 5 The Page View Frame...
Using Microsoft Office 2003 Introduction to FrontPage Handout INFORMATION TECHNOLOGY SERVICES California State University, Los Angeles Version 1.0 Fall 2005 Contents Launching FrontPage... 3 Working with
More informationMS Access: Advanced Tables and Queries. Lesson Notes Author: Pamela Schmidt
Lesson Notes Author: Pamela Schmidt Tables Text Fields (Default) Text or combinations of text and numbers, as well as numbers that don't require calculations, such as phone numbers. or the length set by
More informationVisual C++ 2010 Tutorial
Visual C++ 2010 Tutorial Fall, 2011 Table of Contents Page No Introduction ------------------------------------------------------------------- 2 Single file program demo --------- -----------------------------------------
More informationMicrosoft Access 2010 Overview of Basics
Opening Screen Access 2010 launches with a window allowing you to: create a new database from a template; create a new template from scratch; or open an existing database. Open existing Templates Create
More informationVisualization with Excel Tools and Microsoft Azure
Visualization with Excel Tools and Microsoft Azure Introduction Power Query and Power Map are add-ins that are available as free downloads from Microsoft to enhance the data access and data visualization
More informationIntroduction to Java Applications. 2005 Pearson Education, Inc. All rights reserved.
1 2 Introduction to Java Applications 2.2 First Program in Java: Printing a Line of Text 2 Application Executes when you use the java command to launch the Java Virtual Machine (JVM) Sample program Displays
More informationIntroduction to Data Structures
Introduction to Data Structures Albert Gural October 28, 2011 1 Introduction When trying to convert from an algorithm to the actual code, one important aspect to consider is how to store and manipulate
More informationGetting Started with Command Prompts
Getting Started with Command Prompts Updated March, 2013 Some courses such as TeenCoder : Java Programming will ask the student to perform tasks from a command prompt (Windows) or Terminal window (Mac
More informationOutline. hardware components programming environments. installing Python executing Python code. decimal and binary notations running Sage
Outline 1 Computer Architecture hardware components programming environments 2 Getting Started with Python installing Python executing Python code 3 Number Systems decimal and binary notations running
More informationChief Architect X6. Download & Installation Instructions. Chief Architect, Inc. 6500 N. Mineral Dr. Coeur d Alene, Idaho 83815 www.chiefarchitect.
Chief Architect X6 Download & Installation Instructions Chief Architect, Inc. 6500 N. Mineral Dr. Coeur d Alene, Idaho 83815 www.chiefarchitect.com Contents Chapter 1: Installation What s Included with
More informationCS 106 Introduction to Computer Science I
CS 106 Introduction to Computer Science I 01 / 21 / 2014 Instructor: Michael Eckmann Today s Topics Introduction Homework assignment Review the syllabus Review the policies on academic dishonesty and improper
More information