Makefile Practice: Part 1 Making a Single Program without Templated.h Files: Get the MakeBasics folder from the CS260 repository.

Size: px
Start display at page:

Download "Makefile Practice: Part 1 Making a Single Program without Templated.h Files: Get the MakeBasics folder from the CS260 repository."

Transcription

1 Makefile Practice: Part 1 Making a Single Program without Templated.h Files: Get the MakeBasics folder from the CS260 repository. You need to make a new file called MyMake with no extension in the MakeBasics directory. A good text editor will let you save a file with no extension less good ones will add.txt. Try making the file, if necessary, rename it in windows to remove.txt. (Must be viewing file extensions). The make file should show up in windows without an extension or fancy icon: A makefile consists of a set of rules, each with 3 parts: a target, a list of prerequisites and a command. The general syntax for a rule is: target: prerequisite-1 prerequisite-2... command The target and prerequisites are separated by a colon (:). The command must be preceded by a tab (NOT spaces). Hints: If the command is not preceded by a tab, you get an error message "makefile:4: *** missing separator. Stop." Some text editors like putting in spaces when you hit the tab key. You can either find the preference to disable this or use a different text editor (plain old Notepad works well) If a makefile is named Makefile it will be found automatically (do not need the -f flag when running MyMake). But QTCreator automatically creates its own makefiles with that name, so we are using MyMake In the makefile put the following: all: g++ -std=c++11 -o MyProgram.exe main.cpp Answer.cpp This defines a make target called all. (There is nothing special about that name, it could be anything you want.) It has no pre-requisites, meaning the rule all can happen no matter what. The command builds the file main.cpp using g++ (see Command Line tutorial for details). Save the file. Open a command prompt. Make sure compiler tools are on the path (try typing g++ to test). Navigate to the MakeBasics folder. Type: To run make and tell it to use the makefile MyMake. On Mac/Linux just use "make" and not "mingw32-make" The default behavior for make is to run the first target in the file. In this, case that is the target all. This should build MyProgram.exe, which you can then run from the command line.

2 Now add a second rule: Add the following to the file: all: g++ -std=c++11 -o MyProgram.exe main.cpp Answer.cpp del MyProgram.exe If you are on make/linux change "del" to "rm" in the last line Using the command prompt (should still be in the directory with your code) to do: clean This will run the rule with the target clean instead of the first rule. It should delete the exe To run the first rule again to build the program, you can either explicitly specify the all target: all Or rely on the fact that it is the default target because it is first: Compiling files separately: Make can also be used to set up multi-step compilations that only rebuild the necessary files. Change your makefile to: MyProgram.exe: main.o Answer.o g++ -std=c++11 -o MyProgram.exe main.o Answer.o main.o: main.cpp g++ main.cpp -std=c++11 -c g++ Answer.cpp -std=c++11 -c del main.o Answer.o MyProgram.exe Here, the rule for MyProgram.exe has some prerequisites: main.o and Answer.o This means that we need to verify that those files exist and are up to date before executing the command. If they do not exist or are not up to date, the make utility will automatically go (re)build them. If one of those files has been updated, we will need to rebuild the.exe. The command for MyProgram.exe builds using those object files (.o), not the raw.cpp files. The rule for main.o has a prerequisite: main.cpp This means main.cpp needs to exist before running this rule. There is no rule to create the.cpp that is the file you write. But listing it as a prerequisite means that if main.cpp is newer than main.o, we need to rebuild main.o. Also note about the main.o rule: - It compiles using -c which means compile only, do not try to link into a program - It does not use -o to specify an output file name. The default output file name will be main.o for main.cpp Execute: That will try to run the first rule, which first forces it to run the main.o rule, which builds main.o Then it has to run the Anser.o rule. Finally it actually does the MyProgram.exe rule Run it again: Nothing should be built since everything is up to date.

3 Go edit Answer.cpp to change the answer that is returned from getanswer(). Then rerun the make: This time, Answer.o should be rebuilt, since Answer.cpp has changed. Since Answer.o was rebuilt, MyProgram.exe also has to get rebuild. If you remove the prerequisites from the MyProgram.exe and Answer.o rules (delete the things after the : for each rule), and then repeat the last step, you will notice nothing gets rebuilt unless you completely delete it. Without the prerequisites listed for each rule, make has no idea what files it should look at to see if we need to rebuild. Part 2: Using Templated Headers: Get the MakeTemplatedproject from BitBucket and navigate to it. This folder has a main file that relies on Double.h, a file with a templated function and no corresponding.cpp. Create a file called MyMake and start with: ProgramA.exe: main.o g++ main.o -std=c++11 -o ProgramA.exe main.o: main.cpp Double.h g++ -std=c++11 -c main.cpp del ProgramA.exe main.o Notes about these rules: ProgramA.exe is the default rule since it is first. It has main.o as a prerequisite. It takes main.o and compiles it into ProgramA.exe. main.o has the Double.h file as a prerequisite. Since this.h has actual code, we need to make sure we rebuild if that files gets changed. However, we do not directly compile the.h file (it gets included from.cpp files), so Double.h does not appear on the next line. It is always safe to have.h files as prerequisites. It is essential to have them as prerequisites if they have templated code. From the command line try using the makefile to build the code: Try editing the.h file (even just put in a space and save). Then rerun the make utility and verify that the code gets rebuilt. If you want to skip building the separate object file, your makefile could look like: ProgramA.exe: main.cpp Double.h g++ main.cpp -std=c++11 -o ProgramA.exe del ProgramA.exe main.o

4 Part 3: Making Multiple Programs: Get the MakeComplex project from BitBucket and navigate to it. This folder has two files with main() functions two separate programs (A & B) that both rely on Answer.cpp and Templated.h, a file with a templated function and no corresponding.cpp. Only one program (main function) can be worked on in QTCreator at a time. To compile ProgramB in QTCreator, you would have to remove ProgramA.cpp from the project (without deleting it) and add ProgramB.cpp. To switch back to A, remove ProgramB.cpp and read ProgramA.cpp. Create a file called MyMake and start with: all: ProgramA.exe ProgramB.exe ProgramA.exe: programa.o Answer.o g++ programa.o Answer.o -std=c++11 -o ProgramA.exe ProgramB.exe: programb.o Answer.o g++ programb.o Answer.o -std=c++11 -o ProgramB.exe programa.o: programa.cpp Templated.h g++ -std=c++11 -c programa.cpp programb.o: programb.cpp Templated.h g++ -std=c++11 -c programb.cpp g++ -std=c++11 -c Answer.cpp del ProgramA.exe ProgramB.exe main.o Answer.o Notes about these rules: The rule all has program A and B as prerequisites. That means then need to be built (or rebuilt if out of date). After that, there is nothing actually to do, so there is no command on the next line. ProgramA.exe and ProgramB.exe rules build two different executables from the object files associated with all the.cpp files that are part of those programs. programa.o and program.o have the Templated.h file as a prerequisite. Since this.h has actual code, we need to make sure we rebuild if that files gets changed. However, we do not directly compile the.h file (it gets included from.cpp files), so Templated.h does not appear on the next line. It is always safe to have.h files as prerequisites. It is essential to have them as prerequisites if they have templated code. From the command line try using the makefile to build just programa: ProgramA.exe Note that the rule for making ProgramA.exe says we need both programa.o and Answer.o so they both get built first Then build just programb: ProgramB.exe Notice that it won't have to rebuild Answer.o even though that is a pre-requisite for ProgramB.exe as Answer.o exists already. Try deleting all the build product: clean Then building everything all

5 Extra: This section shows a bit more of the power of makefiles none of it is necessary for this class. Too much of those makefiles are hard coded That is where variables come in. We set a variable with: VARNAME = whatever To use a variable, we start with $ and enclose it within parentheses (...) or braces {...}. Single character variables do not need the parentheses. For example, $(VARNAME) or $@ That means we could rewrite the makefile to look like: FLAGS = -std=c++11 COMPILER = g++ all: ProgramA.exe ProgramB.exe ProgramA.exe: programa.o Answer.o $(COMPILER) $(FLAGS) programa.o Answer.o -o ProgramA.exe ProgramB.exe: programb.o Answer.o $(COMPILER) $(FLAGS) programb.o Answer.o -o ProgramB.exe programa.o: programa.cpp Templated.h $(COMPILER) $(FLAGS) programa.cpp -c programb.o: programb.cpp Templated.h $(COMPILER) $(FLAGS) programb.cpp -c $(COMPILER) $(FLAGS) Answer.cpp -c del ProgramA.exe ProgramB.exe main.o Answer.o

Command Line Navigation and Compiling

Command Line Navigation and Compiling Command Line Navigation and Compiling You should become familiar with how to compile and work from the command line. Below is a quick reference and instructions on how to use the gcc c++ compiler (g++)

More information

If you are on a Mac/Linux box, some commands will differ, but many will be the same.

If you are on a Mac/Linux box, some commands will differ, but many will be the same. Overview You should become familiar with how to compile and work from the command line. Below is a quick reference and instructions on how to use the gcc c++ compiler (g++) from the Windows command line.

More information

Make sure to mark it private. Make sure to make it a Mercurial one and not a Git one.

Make sure to mark it private. Make sure to make it a Mercurial one and not a Git one. Go to bitbucket.org - make an account. Make sure to use your.edu email address so that you get a free unlimited account. In bitbucket, create a repository. Make sure to mark it private. Make sure to make

More information

Makefile Tutorial. Eric S. Missimer. December 6, 2013

Makefile Tutorial. Eric S. Missimer. December 6, 2013 Makefile Tutorial Eric S. Missimer December 6, 2013 1 Basic Elements of a Makefile 1.1 Explicit Rules A the major part of a Makefile are the explicit rules (a.k.a. recipes) that make certain files. Below

More information

Separate Compilation of Multi-File Programs

Separate Compilation of Multi-File Programs 1 About Compiling What most people mean by the phrase "compiling a program" is actually two separate steps in the creation of that program. The rst step is proper compilation. Compilation is the translation

More information

Makefile Brief Reference

Makefile Brief Reference Makefile Brief Reference COMP 229, 346, 444, 5201 Revision 1.1 Date: July 31, 2003 1 Contents Intro Format Examples 2 Intro Makefiles in conjunction with the make utility (man make) provide a very convenient

More information

The make utility automatically determines which pieces of a large program need to be recompiled, and issues commands to recompile them.

The make utility automatically determines which pieces of a large program need to be recompiled, and issues commands to recompile them. What is make? 1 make is a system utility for managing the build process (compilation/linking/etc). There are various versions of make; these notes discuss the GNU make utility included on Linux systems.

More information

And You Thought There Couldn t be More C++ Fundamentals of Computer Science

And You Thought There Couldn t be More C++ Fundamentals of Computer Science And You Thought There Couldn t be More C++ Fundamentals of Computer Science Outline Multi-File Programs makefiles Multi-File Programs Advantages If you write classes in separate files (like in Java) you

More information

CS11 Advanced C++ Fall Lecture 4

CS11 Advanced C++ Fall Lecture 4 CS11 Advanced C++ Fall 2006-2007 Lecture 4 Today s Topics Using make to automate build tasks Using doxygen to generate API docs Build-Automation Standard development cycle: Write more code Compile Test

More information

Makefiles SE 2XA3. Term I, 2018/19

Makefiles SE 2XA3. Term I, 2018/19 Makefiles SE 2XA3 Term I, 2018/19 Outline Example Calling make Syntax How it works Macros Suffix rules Command line options Example Assume we have files main.c, test.c, and lo.asm Consider the makefile

More information

Code::Blocks on Windows Installation Guide using Msys

Code::Blocks on Windows Installation Guide using Msys Code::Blocks on Windows Installation Guide using Msys October 10, 2018 This is with Windows 7 Professional 64 bit, with the variations for 32 bit given as alternatives. This approach uses Msys2. Msys2

More information

CS 247: Software Engineering Principles. Modules

CS 247: Software Engineering Principles. Modules CS 247: Software Engineering Principles Modules Readings: Eckel, Vol. 1 Ch. 2 Making and Using Objects: The Process of Language Translation Ch. 3 The C in C++: Make: Managing separate compilation Ch. 10

More information

Terminal Windows, Emacs, Subversion and Make

Terminal Windows, Emacs, Subversion and Make Computer Science 62 Terminal Windows, Emacs, Subversion and Make or, Out of Eclipse and into the blinding glare of the command line... This reference guide gives you a brief and pragmatic introduction

More information

Final Topics. Ali Malik

Final Topics. Ali Malik Final Topics Ali Malik malikali@stanford.edu Game Plan Command Line Compilation Makefiles What is a thread? Race Conditions Locks Command Line Compilation CL Compilation So far, we have let QtCreator deal

More information

CS11 Intro C++ Spring 2018 Lecture 4

CS11 Intro C++ Spring 2018 Lecture 4 CS11 Intro C++ Spring 2018 Lecture 4 Build Automation When a program grows beyond a certain size, compiling gets annoying g++ -std=c++14 -Wall units.cpp testbase.cpp \ hw3testunits.cpp -o hw3testunits

More information

Intermediate Programming, Spring 2017*

Intermediate Programming, Spring 2017* 600.120 Intermediate Programming, Spring 2017* Misha Kazhdan *Much of the code in these examples is not commented because it would otherwise not fit on the slides. This is bad coding practice in general

More information

Magic Set Editor 2 Template Creation Tutorial

Magic Set Editor 2 Template Creation Tutorial Magic Set Editor 2 Template Creation Tutorial Basics Several types of folders, called packages, must be set up correctly to create any template for MSE. (All files related to MSE template creation are

More information

Chris' Makefile Tutorial

Chris' Makefile Tutorial Chris' Makefile Tutorial Chris Serson University of Victoria June 26, 2007 Contents: Chapter Page Introduction 2 1 The most basic of Makefiles 3 2 Syntax so far 5 3 Making Makefiles Modular 7 4 Multi-file

More information

CST8152 Compilers Creating a C Language Console Project with Microsoft Visual Studio.Net 2005

CST8152 Compilers Creating a C Language Console Project with Microsoft Visual Studio.Net 2005 CST8152 Compilers Creating a C Language Console Project with Microsoft Visual Studio.Net 2005 The process of creating a project with Microsoft Visual Studio 2005.Net is similar to the process in Visual

More information

AN 834: Developing for the Intel HLS Compiler with an IDE

AN 834: Developing for the Intel HLS Compiler with an IDE AN 834: Developing for the Intel HLS Compiler with an IDE Subscribe Send Feedback Latest document on the web: PDF HTML Contents Contents 1 Developing for the Intel HLS Compiler with an Eclipse* IDE...

More information

Compiling with Multiple Files The Importance of Debugging CS 16: Solving Problems with Computers I Lecture #7

Compiling with Multiple Files The Importance of Debugging CS 16: Solving Problems with Computers I Lecture #7 Compiling with Multiple Files The Importance of Debugging CS 16: Solving Problems with Computers I Lecture #7 Ziad Matni Dept. of Computer Science, UCSB Programming in Multiple Files The Magic of Makefiles!

More information

COSC345 Software Engineering. Make

COSC345 Software Engineering. Make COSC345 Software Engineering Make The build process Make When to use make How to use make Suffix rules makedepend Outline Warning: Make is different everywhere you go! Build Process The build process can

More information

CSE 333 Interlude - make and build tools

CSE 333 Interlude - make and build tools CSE 333 Interlude - make and build tools Hal Perkins Paul G. Allen School of Computer Science & Engineering University of Washington make make is a classic program for controlling what gets (re)compiled

More information

The makeutility automatically determines which pieces of a large program need to be recompiled, and issues commands to recompile them.

The makeutility automatically determines which pieces of a large program need to be recompiled, and issues commands to recompile them. What is make? 1 make is a system utility for managing the build process (compilation/linking/etc). There are various versions of make; these notes discuss the GNU makeutility included on Linux systems.

More information

Installing Eclipse CDT and MinGW

Installing Eclipse CDT and MinGW Installing Eclipse CDT and MinGW Downloading and Installing Eclipse CDT 1. Go to the webpage: http://www.eclipse.org/cdt/ 2. Click the Downloads tab, and scroll down to the CDT 8.0.2 for Eclipse Indigo

More information

Chapter 1 An Introduction to C++, Unix, SSH and Komodo Edit

Chapter 1 An Introduction to C++, Unix, SSH and Komodo Edit Chapter 1 An Introduction to C++, Unix, SSH and Komodo Edit Contents 1 An Introduction to C++, Unix, SSH and Komodo Edit 1.1 Introduction 1.2 The C++ Language 1.2.1 A Brief Introduction 1.2.1.1 Recommended

More information

A Tutorial on using Code::Blocks with Catalina 3.0.3

A Tutorial on using Code::Blocks with Catalina 3.0.3 A Tutorial on using Code::Blocks with Catalina 3.0.3 BASIC CONCEPTS...2 PREREQUISITES...2 INSTALLING AND CONFIGURING CODE::BLOCKS...3 STEP 1 EXTRACT THE COMPONENTS...3 STEP 2 INSTALL CODE::BLOCKS...3 Windows

More information

Make! CSC230: C and Software Tools. N.C. State Department of Computer Science. Some examples adapted from

Make! CSC230: C and Software Tools. N.C. State Department of Computer Science. Some examples adapted from Make! CSC230: C and Software Tools N.C. State Department of Computer Science Some examples adapted from http://mrbook.org/tutorials/make/ CSC230: C and Software Tools NC State University Computer Science

More information

Practicum 5 Maps and Closures

Practicum 5 Maps and Closures Practicum 5 Maps and Closures Assignment Details Assigned: February 18 th 2014. Due: February 20 th, 2014 at midnight. Background One of the requirements of PA1 Part 2 using a data structure to hold function

More information

CSE 374 Programming Concepts & Tools

CSE 374 Programming Concepts & Tools CSE 374 Programming Concepts & Tools Hal Perkins Fall 2017 Lecture 14 Makefiles and Compilation Management 1 Where we are Onto tools... Basics of make, particular the concepts Some fancier make features

More information

Code::Blocks Student Manual

Code::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 information

Chapter 2. Editing And Compiling

Chapter 2. Editing And Compiling Chapter 2. Editing And Compiling Now that the main concepts of programming have been explained, it's time to actually do some programming. In order for you to "edit" and "compile" a program, you'll need

More information

Programming I Laboratory - lesson 01

Programming I Laboratory - lesson 01 Programming I Laboratory - lesson 0 Introduction in C++ programming environment. The C++ program structure. Computer programs are composed of instructions and data. Instructions tell the computer to do

More information

COP 3014: Spring 2018 A Guide to Using CLion

COP 3014: Spring 2018 A Guide to Using CLion COP 3014: Spring 2018 A Guide to Using CLion January 16, 2018 1 CLion CLion is a comprehensive C++ Integrated Development Environment developed and maintained by JetBrains. It is very intuitive and easy

More information

The Make Utility. Independent compilation. Large programs are difficult to maintain. Problem solved by breaking the program into separate files

The Make Utility. Independent compilation. Large programs are difficult to maintain. Problem solved by breaking the program into separate files The Make Utility Independent compilation Large programs are difficult to maintain Problem solved by breaking the program into separate files Different functions placed in different files The main function

More information

The Make Utility. Independent compilation. Large programs are difficult to maintain. Problem solved by breaking the program into separate files

The Make Utility. Independent compilation. Large programs are difficult to maintain. Problem solved by breaking the program into separate files The Make Utility Independent compilation Large programs are difficult to maintain Problem solved by breaking the program into separate files Different functions placed in different files The main function

More information

CSC 2500: Unix Lab Fall 2016

CSC 2500: Unix Lab Fall 2016 CSC 2500: Unix Lab Fall 2016 Makefile Mohammad Ashiqur Rahman Department of Computer Science College of Engineering Tennessee Tech University Agenda Make Utility Build Process The Basic Makefile Target

More information

Using the Zoo Workstations

Using the Zoo Workstations Using the Zoo Workstations Version 1.86: January 16, 2014 If you ve used Linux before, you can probably skip many of these instructions, but skim just in case. Please direct corrections and suggestions

More information

Using the EE 109 Tools. Allan Weber Mark Redekopp

Using the EE 109 Tools. Allan Weber Mark Redekopp 1 Using the EE 109 Tools Allan Weber Mark Redekopp 2 Note and Disclaimer Please follow the instructions at http://ee-classes.usc.edu/ee109/project_tips.html to setup new labs/projects for your Arduino

More information

Intro to C and Binary Numbers 8/27/2007

Intro to C and Binary Numbers 8/27/2007 Intro to C and Binary Numbers 8/27/2007 1 Opening Discussion Let's look at three answers to the interclass question. What are the steps in building a C program? Do you have any questions about the class

More information

UNIVERSITY OF MICHIGAN INFORMATICS Charles Severance. You will need Apple QuickTime installed to view this video.

UNIVERSITY OF MICHIGAN INFORMATICS Charles Severance. You will need Apple QuickTime installed to view this video. UNIVERSITY OF MICHIGAN INFORMATICS Charles Severance Editing and Running a Python Program With NotePad++ on Windows Note: This handout is under development please send suggestions to Chuck Severance (csev@umich.edu)

More information

Linux File System and Basic Commands

Linux File System and Basic Commands Linux File System and Basic Commands 0.1 Files, directories, and pwd The GNU/Linux operating system is much different from your typical Microsoft Windows PC, and probably looks different from Apple OS

More information

Starting to Program in C++ (Basics & I/O)

Starting to Program in C++ (Basics & I/O) Copyright by Bruce A. Draper. 2017, All Rights Reserved. Starting to Program in C++ (Basics & I/O) On Tuesday of this week, we started learning C++ by example. We gave you both the Complex class code and

More information

Science One CS : Getting Started

Science One CS : Getting Started Science One CS 2018-2019: Getting Started Note: if you are having trouble with any of the steps here, do not panic! Ask on Piazza! We will resolve them this Friday when we meet from 10am-noon. You can

More information

This guide shows you how to set up Data Director to replicate Data from Head Office to Store.

This guide shows you how to set up Data Director to replicate Data from Head Office to Store. Install Data Director 3 This guide shows you how to set up Data Director to replicate Data from Head Office to Store. Installation Run the setup file LS.DataDirector.3.02.xx.Setup.exe and set the location

More information

JUCE TUTORIALS. INTRO methodology how to create a GUI APP and how to create a Plugin.

JUCE TUTORIALS. INTRO methodology how to create a GUI APP and how to create a Plugin. JUCE TUTORIALS INTRO methodology how to create a GUI APP and how to create a Plugin. Install Juice and Xcode (or other IDE) Create a project: GUI Application Select platform Choose Path, Name, Folder Name

More information

Kurt Schmidt. May 23, 2018

Kurt Schmidt. May 23, 2018 duction to duction to Dept. of Computer Science, Drexel University May 23, 2018 duction to make duction to Automates certain tasks Usually simple command-line stuff Compiling multi-file programs Archiving/extracting

More information

CST8152 Compilers Creating a C Language Console Project with Microsoft Visual Studio.Net 2010

CST8152 Compilers Creating a C Language Console Project with Microsoft Visual Studio.Net 2010 CST8152 Compilers Creating a C Language Console Project with Microsoft Visual Studio.Net 2010 The process of creating a project with Microsoft Visual Studio 2010.Net is similar to the process in Visual

More information

Unit 10. Linux Operating System

Unit 10. Linux Operating System 1 Unit 10 Linux Operating System 2 Linux Based on the Unix operating system Developed as an open-source ("free") alternative by Linux Torvalds and several others starting in 1991 Originally only for Intel

More information

11.1 Modular Organization and makefiles.

11.1 Modular Organization and makefiles. Chapter 11: Modules and Makefiles 11.1 Modular Organization and makefiles. From the Fanny Farmer cookbook: Before beginning to mix, be sure that all ingredients and utensils are on hand. You can t bake

More information

Code::Blocks Student Manual

Code::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 information

COMP Lecture Notes The Compiler

COMP Lecture Notes The Compiler COMP 161 - Lecture Notes - 05 - The Compiler January 20, 2016 In these notes we talk about compiling our multi-file C++ program in order to check syntax errors, run unit-tests, or build the main executable.

More information

How to set up an Amazon Work Profile for Windows 8

How to set up an Amazon Work Profile for Windows 8 How to set up an Amazon Work Profile for Windows 8 Setting up a new profile for Windows 8 requires you to navigate some screens that may lead you to create the wrong type of account. By following this

More information

Compiling and Running an Application from the Command Line

Compiling and Running an Application from the Command Line Appendix A Compiling and Running an Application from the Command Line This appendix describes how to run applications at the command line without using the integrated development environment (IDE) of Visual

More information

CS 261 Recitation 1 Compiling C on UNIX

CS 261 Recitation 1 Compiling C on UNIX Oregon State University School of Electrical Engineering and Computer Science CS 261 Recitation 1 Compiling C on UNIX Winter 2017 Outline Secure Shell Basic UNIX commands Editing text The GNU Compiler

More information

C/C++ Programming. Session 10

C/C++ Programming. Session 10 C/C++ Programming Dr Jim Lupo LSU/CCT Computational Enablement jalupo@cct.lsu.edu Concept Review int main (... ) {... }; Float precision if / else if / else statement; Promotion switch { statement block;...

More information

Chapter 1 An Introduction to C++, Unix, SSH and Komodo Edit

Chapter 1 An Introduction to C++, Unix, SSH and Komodo Edit Chapter 1 An Introduction to C++, Unix, SSH and Komodo Edit A portion of this lab is to be done during the scheduled lab time. The take-home programming assignment is to be turned in before the next lab;

More information

The CS-220 Development Environment

The CS-220 Development Environment The Development Environment (No relevant sections in text) Picking the right tool for the job 2 Integrated Development Environment 3 Command Line Mentality Old fashioned but surprisingly efficient (except

More information

Module 4: Advanced Development

Module 4: Advanced Development Module 4: Advanced Development Objective Create and build a Standard Make Project from source files in CVS Contents Version control Standard Make Projects Fortran Refactoring Searching LACSI 2006 Version

More information

52 Remote Target. Simulation. Chapter

52 Remote Target. Simulation. Chapter Chapter 52 Remote Target Simulation This chapter describes how to run a simulator on a target and connect it to the SDL simulator interface (SimUI) on the host via TCP/IP communication. July 2003 Telelogic

More information

LOCAL WALLET (COLD WALLET):

LOCAL WALLET (COLD WALLET): This tutorial will teach you how to create a masternode with a "cold/hot" setup. The whole process is as follows. LOCAL WALLET (COLD WALLET): Visit TRAID platform s official repository on GitHub and download

More information

CS Week 14 Lab Exercise

CS Week 14 Lab Exercise CS 111 - Week 14 Lab Exercise p.1 Deadline CS 111 - Week 14 Lab Exercise - 2018-11-05 Due by the end of lab on 2018-11-26. (Submit whatever you have by the end of lab, even if incomplete.) How to submit

More information

ADOBE DREAMWEAVER CS4 BASICS

ADOBE DREAMWEAVER CS4 BASICS ADOBE DREAMWEAVER CS4 BASICS Dreamweaver CS4 2 This tutorial focuses on the basic steps involved in creating an attractive, functional website. In using this tutorial you will learn to design a site layout,

More information

Chapter 2: An Introduction to Makeles 5 2 An Introduction to Makeles You need a le called a makele to tell make what to do. Most often, the makele tel

Chapter 2: An Introduction to Makeles 5 2 An Introduction to Makeles You need a le called a makele to tell make what to do. Most often, the makele tel Chapter 2: An Introduction to Makeles 5 2 An Introduction to Makeles You need a le called a makele to tell make what to do. Most often, the makele tells make how to compile and link a program. In this

More information

The Linux Programming Environment. Computer Science Department Texas State University

The Linux Programming Environment. Computer Science Department Texas State University The Linux Programming Environment Computer Science Department Texas State University TUTORIAL REQUIREMENTS... 1 INTRODUCTION... 1 COMPILATION... 1 COMMAND LINE COMPILATION... 1 Basic Compilation... 2 The

More information

CS Multimedia and Communications REMEMBER TO BRING YOUR MEMORY STICK TO EVERY LAB!

CS Multimedia and Communications REMEMBER TO BRING YOUR MEMORY STICK TO EVERY LAB! CS 1033 Multimedia and Communications REMEMBER TO BRING YOUR MEMORY STICK TO EVERY LAB! Lab 06: Introduction to KompoZer (Website Design - Part 3 of 3) Lab 6 Tutorial 1 In this lab we are going to learn

More information

1 Installation (briefly)

1 Installation (briefly) Jumpstart Linux Bo Waggoner Updated: 2014-09-15 Abstract A basic, rapid tutorial on Linux and its command line for the absolute beginner. Prerequisites: a computer on which to install, a DVD and/or USB

More information

Using the Unix system. UNIX Introduction

Using the Unix system. UNIX Introduction Using the Unix system Navigating the Unix file system Editing with emacs Compiling with gcc UNIX Introduction The UNIX operating system is made up of three parts: the kernel, the shell and the programs

More information

GUIDE Development tools for Windows(10) installation... 2

GUIDE Development tools for Windows(10) installation... 2 GUIDE Development tools for Windows(10) installation... 2 C\C++ compiler and CMake installation... 2 Mingw download... 2 Mingw installation... 3 Adding Mingw compilers folder to PATH variable... 7 CMake

More information

CS2141 Software Development using C/C++ Compiling a C++ Program

CS2141 Software Development using C/C++ Compiling a C++ Program CS2141 Software Development using C/C++ Compiling a C++ Program g++ g++ is the GNU C++ compiler. A program in a file called hello.cpp: #include using namespace std; int main( ) { cout

More information

Lab 2 Building on Linux

Lab 2 Building on Linux Lab 2 Building on Linux Assignment Details Assigned: January 28 th, 2013. Due: January 30 th, 2013 at midnight. Background This assignment should introduce the basic development tools on Linux. This assumes

More information

My First iphone App (for Xcode version 6.4)

My First iphone App (for Xcode version 6.4) My First iphone App (for Xcode version 6.4) 1. Tutorial Overview In this tutorial, you re going to create a very simple application on the iphone or ipod Touch. It has a text field, a label, and a button

More information

RVDS 3.0 Introductory Tutorial

RVDS 3.0 Introductory Tutorial RVDS 3.0 Introductory Tutorial 338v00 RVDS 3.0 Introductory Tutorial 1 Introduction Aim This tutorial provides you with a basic introduction to the tools provided with the RealView Development Suite version

More information

Unit 13. Linux Operating System Debugging Programs

Unit 13. Linux Operating System Debugging Programs 1 Unit 13 Linux Operating System Debugging Programs COMPILATION 2 3 Editors "Real" developers use editors designed for writing code No word processors!! You need a text editor to write your code Eclipse,

More information

GNU Make 1. 1 material adapted from GNU Make by Richard Stallman

GNU Make 1. 1 material adapted from GNU Make by Richard Stallman 1 The make utility automatically determines which pieces of a large program need to be recompiled, and issues commands to recompile them. Make can be used with any programming language whose compiler can

More information

Table Of Contents. 1. Zoo Information a. Logging in b. Transferring files 2. Unix Basics 3. Homework Commands

Table Of Contents. 1. Zoo Information a. Logging in b. Transferring files 2. Unix Basics 3. Homework Commands Table Of Contents 1. Zoo Information a. Logging in b. Transferring files 2. Unix Basics 3. Homework Commands Getting onto the Zoo Type ssh @node.zoo.cs.yale.edu, and enter your netid pass when prompted.

More information

CST8152 Compilers Creating a C Language Console Project with Microsoft Visual Studio.Net 2003

CST8152 Compilers Creating a C Language Console Project with Microsoft Visual Studio.Net 2003 CST8152 Compilers Creating a C Language Console Project with Microsoft Visual Studio.Net 2003 The process of creating a project with Microsoft Visual Studio 2003.Net is to some extend similar to the process

More information

Extended Product Grid with Editor for Magento 2

Extended Product Grid with Editor for Magento 2 Last update: 2018/01/26 13:00 magento_2:extended_product_grid https://amasty.com/docs/doku.php?id=magento_2:extended_product_grid Extended Product Grid with Editor for Magento 2 Get the advanced product

More information

Chapter 1 Introduction

Chapter 1 Introduction Chapter 1 Introduction Hi! Welcome to my beginners guide to C++. If you are starting to program for the first time, I hope that you find the chapters I have written useful. C++ is an excellent language

More information

Module 3: Working with C/C++

Module 3: Working with C/C++ Module 3: Working with C/C++ Objective Learn basic Eclipse concepts: Perspectives, Views, Learn how to use Eclipse to manage a remote project Learn how to use Eclipse to develop C programs Learn how to

More information

Eclipse Environment Setup

Eclipse Environment Setup Eclipse Environment Setup Adapted from a document from Jeffrey Miller and the CS201 team by Shiyuan Sheng. Introduction This lab document will go over the steps to install and set up Eclipse, which is

More information

Working with Basic Linux. Daniel Balagué

Working with Basic Linux. Daniel Balagué Working with Basic Linux Daniel Balagué How Linux Works? Everything in Linux is either a file or a process. A process is an executing program identified with a PID number. It runs in short or long duration

More information

UNIVERSITY OF CALIFORNIA Department of Electrical Engineering and Computer Sciences Computer Science Division. P. N. Hilfinger

UNIVERSITY OF CALIFORNIA Department of Electrical Engineering and Computer Sciences Computer Science Division. P. N. Hilfinger UNIVERSITY OF CALIFORNIA Department of Electrical Engineering and Computer Sciences Computer Science Division CS164 Spring 2009 P. N. Hilfinger Basic Compilation Control with Gmake Even relatively small

More information

Introduction. Introduction to gcc and Makefiles. Stef Nychka. September 21, Department of Computing Science University of Alberta

Introduction. Introduction to gcc and Makefiles. Stef Nychka. September 21, Department of Computing Science University of Alberta 1 / 11 Introduction Introduction to gcc and Makefiles Stef Nychka Department of Computing Science University of Alberta September 21, 2007 2 / 11 Overview Overview Sample Files gcc Object Files and Executables

More information

and 32 bit for 32 bit. If you don t pay attention to this, there will be unexpected behavior in the ISE software and thing may not work properly!

and 32 bit for 32 bit. If you don t pay attention to this, there will be unexpected behavior in the ISE software and thing may not work properly! This tutorial will show you how to: Part I: Set up a new project in ISE 14.7 Part II: Implement a function using Schematics Part III: Simulate the schematic circuit using ISim Part IV: Constraint, Synthesize,

More information

Version control system (VCS)

Version control system (VCS) Version control system (VCS) Remember that you are required to keep a process-log-book of the whole development solutions with just one commit or with incomplete process-log-book (where it is not possible

More information

HP Database and Middleware Automation

HP Database and Middleware Automation HP Database and Middleware Automation For Windows Software Version: 10.10 SQL Server Database Refresh User Guide Document Release Date: June 2013 Software Release Date: June 2013 Legal Notices Warranty

More information

Lab # 2. For today s lab:

Lab # 2. For today s lab: 1 ITI 1120 Lab # 2 Contributors: G. Arbez, M. Eid, D. Inkpen, A. Williams, D. Amyot 1 For today s lab: Go the course webpage Follow the links to the lab notes for Lab 2. Save all the java programs you

More information

CS50 Supersection (for those less comfortable)

CS50 Supersection (for those less comfortable) CS50 Supersection (for those less comfortable) Friday, September 8, 2017 3 4pm, Science Center C Maria Zlatkova, Doug Lloyd Today s Topics Setting up CS50 IDE Variables and Data Types Conditions Boolean

More information

Instructions. First, download the file

Instructions. First, download the file Instructions First, download the file http://www.cs.mcgill.ca/~cs202/2012-09/web/lectures/dan/unit0/helloworld.java from the course webpage. You can view this file in a program such as notepad (windows),

More information

Lab: Supplying Inputs to Programs

Lab: Supplying Inputs to Programs Steven Zeil May 25, 2013 Contents 1 Running the Program 2 2 Supplying Standard Input 4 3 Command Line Parameters 4 1 In this lab, we will look at some of the different ways that basic I/O information can

More information

RVDS 4.0 Introductory Tutorial

RVDS 4.0 Introductory Tutorial RVDS 4.0 Introductory Tutorial 402v02 RVDS 4.0 Introductory Tutorial 1 Introduction Aim This tutorial provides you with a basic introduction to the tools provided with the RealView Development Suite version

More information

The Very Basics of the R Interpreter

The Very Basics of the R Interpreter Chapter 2 The Very Basics of the R Interpreter OK, the computer is fired up. We have R installed. It is time to get started. 1. Start R by double-clicking on the R desktop icon. 2. Alternatively, open

More information

Chapter 1 - What s in a program?

Chapter 1 - What s in a program? Chapter 1 - What s in a program? I. Student Learning Outcomes (SLOs) a. You should be able to use Input-Process-Output charts to define basic processes in a programming module. b. You should be able to

More information

Understanding main() function Input/Output Streams

Understanding main() function Input/Output Streams Understanding main() function Input/Output Streams Structure of a program // my first program in C++ #include int main () { cout

More information

Contents. Notes Mail Link Page 1

Contents. Notes Mail Link Page 1 Contents Contents... 1 About Notes Mail Link 6... 2 System requirements... 2 Installing Notes Mail Link - Overview... 3 Install Notes Mail Link... 3 Upgrade to newer version of Notes Mail Link... 3 New

More information

1 of 5 3/28/2010 8:04 AM XCode Notes Home Class Info Links Lectures Newsgroup Assignmen Xcode is a free integrated development environment (IDE) for C, C++, Java and other languages on MacOS X. It comes

More information

Quick.JS Documentation

Quick.JS Documentation Quick.JS Documentation Release v0.6.1-beta Michael Krause Jul 22, 2017 Contents 1 Installing and Setting Up 1 1.1 Installation................................................ 1 1.2 Setup...................................................

More information

Adobe Dreamweaver CS5 Tutorial

Adobe Dreamweaver CS5 Tutorial Adobe Dreamweaver CS5 Tutorial GETTING STARTED This tutorial focuses on the basic steps involved in creating an attractive, functional website. In using this tutorial you will learn to design a site layout,

More information

WebAD IISADMPWD. Replacement Tool v2.5. Installation and Configuration Guide. Instructions to Install and Configure IISADMPWD

WebAD IISADMPWD. Replacement Tool v2.5. Installation and Configuration Guide. Instructions to Install and Configure IISADMPWD WebAD IISADMPWD Replacement Tool v2.5 Installation and Configuration Guide Instructions to Install and Configure IISADMPWD Replacement Tool v2.5 Web Active Directory, LLC Contents Overview... 2 Solution

More information