Basic example hello world
This commit is contained in:
parent
7f6bb71b9d
commit
1cf4a8c67e
|
@ -0,0 +1,6 @@
|
|||
#include <stdio.h>
|
||||
|
||||
int main(int argc, char** argv) {
|
||||
printf("Hello, world!\n");
|
||||
}
|
||||
|
62
README.md
62
README.md
|
@ -85,3 +85,65 @@ it will get the address of the start of the array `c`, compute the memory addres
|
|||
later, and try to see what's there. This will certainly be gibberish and might cause the
|
||||
operating system to kill your program.
|
||||
|
||||
# Setting Up a Development Environment
|
||||
|
||||
To develop C, you need a _compiler_, and it's nice to have a _build system_. I'll assume
|
||||
you're on Ubuntu; to install GCC, the GNU Compiler Collection, and make, a build system,
|
||||
on Ubuntu, run:
|
||||
|
||||
```bash
|
||||
sudo apt install gcc make
|
||||
```
|
||||
|
||||
Now make a directory to work in and open up a file. I'm going to call it `00-helloworld.c`.
|
||||
Into that file, type:
|
||||
|
||||
```c
|
||||
#include <stdio.h>
|
||||
|
||||
int main(int argc, char** argv) {
|
||||
printf("Hello, world!\n");
|
||||
}
|
||||
```
|
||||
|
||||
(I'll explain it all in a sec!)
|
||||
|
||||
Now, in the terminal, in that folder, type:
|
||||
|
||||
```bash
|
||||
# GCC, please compile the code in 00-helloworld.c
|
||||
# and write the executable out to 00-helloworld.64
|
||||
gcc 00-helloworld.c -o 00-helloworld.64
|
||||
```
|
||||
|
||||
This should print out "Hello, world!" in your terminal. Let's dissect that.
|
||||
|
||||
```c
|
||||
#include <stdio.h>
|
||||
```
|
||||
|
||||
Beginning with `#` means that this is a preprocessor directive, telling the compiler
|
||||
to look up and include a file called `stdio.h` in the standard search path (because of
|
||||
the `<` and `>`, as opposed to `"` and `"` which mean look in the current directory)
|
||||
and include its text here.
|
||||
|
||||
That file defines, among other things, the function `printf` that is used later.
|
||||
|
||||
```c
|
||||
int main(int argc, char** argv) {
|
||||
```
|
||||
|
||||
This is the definition of the magic function `main`, which is run when the program starts.
|
||||
It returns an `int`, which should be zero for success or anything else for failure, and
|
||||
takes the number of command line arguments `argc` and an array of arrays of characters
|
||||
(an array of strings) `argv`. `c` stands for "count" and `v` for "vector" in this case.
|
||||
|
||||
```c
|
||||
printf("Hello, world!\n");
|
||||
```
|
||||
|
||||
This calls the `printf` function, which `print`s a `f`ormatted string, although we're
|
||||
not using any of the formatting options here.
|
||||
|
||||
Congratulations! This is your first C program~
|
||||
|
||||
|
|
Loading…
Reference in New Issue