Login: Ubuntu
Your Unix Account
Our C++ program (source code) will be entered as a file. This is the actual file that you will type using the editor. Other files will be used along with your source code to enable the execution of your program. For example, another type of file that may make up your project is a "header" file, or "include" file. An "include" file allows you to use additional source code that you or others have written. They comprise a library of helpful tools -- for example, they can provide input/output capabilities, standard math functions (like cosine, or finding the square-root), among others. In fact, they are often called standard library files. You reference a "header" file by "including" it into your source file. You will include a library file today that provides basic input and output services for your program (details to follow).
The complete collection of files needed to run our program is termed a project. So, a project is the collection of files that make up the program (or application) that you are developing.
Step-by-step instructions to creating the "HELLO WORLD" program
|
STEP
|
INFORMATION
|
|
| 0 | Directory setup:
|
|
| 1 | Open your preferred text editor (Click on the "Dash Home" button at top left again, wait for the box, then type "gedit", "emacs", OR "vi" and hit Enter). gedit is the simplest, so start with that for now unless you have used something else before. We assume gedit below. | |
| 2 |
The editor window is where you type in
your source code.
The editor uses something called syntax coloring to make it easier for you to read the programs you have written. Syntax coloring highlights the different program elements such as comments, keywords, numbers, and variables. This allows you to easily identify elements of your source code and find common syntax mistakes quickly. For example, gedit highlights comments in blue. If you see your source code is blue then you likely forgot to close a comment block. Additionally, the editor attempts to help in other ways such as by providing automatic indenting, aligning braces, and so forth.
|
|
| 3 | Give your file a name by saving it.
We could just starting typing in the default, unnamed file that appears, but eventually
the file needs a name. In addition, the syntax highlighting discusssed above won't work
until we give our file a name ending with .cpp (before that, the editor doesn't know what kind
of file we are working with!). So let's first save our file, even though right now it is empty:
|
|
| 3B | Enable essential gedit features.
There are some important gedit preferences to set.
Go to the menu bar and select Edit->Preferences.
In the window that appears, do these steps:
|
|
| 4 | Create your main and add your include statements. If you do not understand what you are typing DO NOT BE CONCERNED. Your instructor will soon explain required and essential elements of C++ programs. Type the code exactly as shown below. | |
|
||
| When finished, save your file by clicking the Save icon, or press Ctrl-S. | ||
| 5 |
Compile. If you want the
programs you write to actually do something then you
must compile them (turn source code into machine
language). Converting high-level C++ source code into
machine language is very complex, but compiler vendors
solve this problem for you. To compile your program,
first make sure that you have a terminal open from before, whose
current directory is where you saved main.cpp.
Once you are there, compile your
program by typing into the terminal
g++ -Wall -Wextra main.cpp -o m012345.
If your program compiled successfully, you should not see
any output from If you do see any text output from Note: technically, the single command you issued actually "compiled" and "linked" your program. We'll talk much later about this, but in short "linking" (amongst other things) takes your code and combines it with other code provided elsewhere to do standard things like input and output (this is referenced by the #include <iostream> line in your code). Often, we'll informally call this whole process "compiling." |
|
| 6 |
Run! Once you successfully compiled
and linked your program (no errors), then you are ready to
execute your program. In your current working
directory, you will see a new file called
m012345 (or whatever you have named it). That is
your program. To execute a file, type the file's name preceded
by a "dot slash" (literally, "./") and hit the enter key.
|
|
| 7 | Program Output: Your program will output to the same terminal from where it was executed, as seen above. |
Now, let's view the executable file you just executed.
Type ls -l to list details of the contents of
your current working directory. There is a file named
main.cpp – it is your source code file. Note the size
of the file (95 byes in our example). The file called m012345 is your program's
executable file, which is combined with all of the other
necessary machine code to run your program. Note the size
(7782 bytes in our example)!! The increase in size is due to the code that was
“included” or linked into your program.
Repeat Part 2 of this lab all over again, with these changes:
add.cpp instead of main.cpp. Now, what do you need to change when you compile your program?
// (Your name and alpha)
// This program adds two numbers
#include<iostream>
int main()
{
int number1, number2, sum;
number1 = 12;
number2 = 13;
sum = number1 + number2;
std::cout << "The sum of these two integers is " << sum << std::endl;
return 0;
}
|
Show your instructor when you finish this part.
Experience and practice help a lot here. So for each of the below, purposefully make the syntax error in your current program and try to compile to see what the error message is. Correct the error before introducing the next error into your program (e.g., only add ONE ERROR at a time). Go slowly and pay attention, this will save you time later!
Show your instructor when you finish this part.
You'll spend the rest of your time learning more about Linux and the more powerful editors emacs/vi. Complete as many of the following steps as possible:
ls" frequently to see what effect the commands are having.You should now be comfortable with being able to generate source code, compile it, execute the program, and correct basic syntax errors -- all in Linux. Let's clean up so you can get to your next class.
|