This shows you the differences between two versions of the page.
Next revision | Previous revision | ||
haas:fall2018:cprog:projects:sof0 [2017/08/20 17:10] – external edit 127.0.0.1 | haas:fall2018:cprog:projects:sof0 [2018/08/27 18:56] (current) – [Review of Compiling/Executing] wedge | ||
---|---|---|---|
Line 3: | Line 3: | ||
< | < | ||
</ | </ | ||
- | |||
- | ~~TOC~~ | ||
======Project: | ======Project: | ||
Line 221: | Line 219: | ||
<cli> | <cli> | ||
- | lab46: | + | lab46: |
lab46: | lab46: | ||
</ | </ | ||
Line 230: | Line 228: | ||
< | < | ||
- | gcc -Wall --std=c99 -o BINARY_FILE SOURCE_FILE | + | gcc -Wall --std=gnu99 -o BINARY_FILE SOURCE_FILE |
</ | </ | ||
The BINARY_FILE comes **immediately after** the **-o**, **NOT** the SOURCE_FILE (it must never **immediately** follow a **-o**). It can precede, and such is perfectly valid (especially if you feel that way more intuitive). | The BINARY_FILE comes **immediately after** the **-o**, **NOT** the SOURCE_FILE (it must never **immediately** follow a **-o**). It can precede, and such is perfectly valid (especially if you feel that way more intuitive). | ||
- | The **-Wall** (treat all warnings as errors, increase general verbosity about warnings) and **--std=c99** (switch compiler to use the **C99** standard of the C language) are options given to the compiler. | + | The **-Wall** (treat all warnings as errors, increase general verbosity about warnings) and **--std=gnu99** (switch compiler to use the **C99** standard of the C language, with GNU extensions) are options given to the compiler. |
To execute your binary, we need to specify a path to it, so we use **./**, which basically references the current directory: | To execute your binary, we need to specify a path to it, so we use **./**, which basically references the current directory: |