This shows you the differences between two versions of the page.
Both sides previous revisionPrevious revisionNext revision | Previous revision | ||
haas:fall2018:cprog:projects:sof0 [2018/08/27 18:55] – [Review of Compiling/Executing] wedge | haas:fall2018:cprog:projects:sof0 [2018/08/27 18:56] (current) – [Review of Compiling/Executing] wedge | ||
---|---|---|---|
Line 228: | 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: |