2015-01-12 11:40:00 +00:00
|
|
|
# gcc
|
|
|
|
|
2019-11-04 01:30:33 +00:00
|
|
|
> Preprocess and compile C and C++ source files, then assemble and link them together.
|
2019-06-07 11:58:20 +01:00
|
|
|
> More information: <https://gcc.gnu.org>.
|
2015-01-12 11:40:00 +00:00
|
|
|
|
2023-02-26 21:33:25 +00:00
|
|
|
- Compile multiple source files into an executable:
|
2015-01-12 11:40:00 +00:00
|
|
|
|
2022-08-23 17:02:42 +01:00
|
|
|
`gcc {{path/to/source1.c path/to/source2.c ...}} -o {{path/to/output_executable}}`
|
2015-01-12 11:40:00 +00:00
|
|
|
|
2022-11-09 10:05:39 +00:00
|
|
|
- Show common warnings, debug symbols in output, and optimize without affecting debugging:
|
2015-01-12 11:40:00 +00:00
|
|
|
|
2022-11-09 10:05:39 +00:00
|
|
|
`gcc {{path/to/source.c}} -Wall -g -Og -o {{path/to/output_executable}}`
|
2015-01-12 11:40:00 +00:00
|
|
|
|
2016-01-07 17:31:27 +00:00
|
|
|
- Include libraries from a different path:
|
2015-01-12 11:40:00 +00:00
|
|
|
|
2022-08-23 17:02:42 +01:00
|
|
|
`gcc {{path/to/source.c}} -o {{path/to/output_executable}} -I{{path/to/header}} -L{{path/to/library}} -l{{library_name}}`
|
2016-03-02 12:56:33 +00:00
|
|
|
|
|
|
|
- Compile source code into Assembler instructions:
|
|
|
|
|
2022-03-02 11:36:03 +00:00
|
|
|
`gcc -S {{path/to/source.c}}`
|
2016-05-21 15:55:03 +01:00
|
|
|
|
2022-08-22 13:12:20 +01:00
|
|
|
- Compile source code into an object file without linking:
|
2016-05-21 15:55:03 +01:00
|
|
|
|
2022-03-02 11:36:03 +00:00
|
|
|
`gcc -c {{path/to/source.c}}`
|
2023-12-02 08:26:47 +00:00
|
|
|
|
|
|
|
- Optimize the compiled program for performance:
|
|
|
|
|
2023-12-04 10:58:55 +00:00
|
|
|
`gcc {{path/to/source.c}} -O{{1|2|3|fast}} -o {{path/to/output_executable}}`
|