Home > System Tutorial > LINUX > body text

Detailed explanation of commands-GCC

王林
Release: 2024-03-25 21:27:09
forward
1198 people have browsed it

Detailed explanation of commands-GCC

grammar
gcc(选项)(参数)
Copy after login
Options
-o:指定生成的输出文件;
-E:仅执行编译预处理;
-S:将C代码转换为汇编代码;
-wall:显示警告信息;
-c:仅执行编译操作,不进行连接操作。
Copy after login
parameter
C源文件:指定C语言源代码文件。
Copy after login
Example

Common compilation command options

Assume that the source program file is named test.c

Compile link without options

gcc test.c
Copy after login

Preprocess, assemble, compile and link test.c to form an executable file. No output file is specified here, the default output is a.out.

Options -o

gcc test.c -o test
Copy after login

Preprocess, assemble, compile and link test.c to form the executable file test. The -o option is used to specify the file name of the output file.

Options -E

gcc -E test.c -o test.i
Copy after login

Preprocess test.c and output the test.i file.

Options -S

gcc -S test.i
Copy after login

Assemble the preprocessing output file test.i into the test.s file.

Options -c

gcc -c test.s
Copy after login

Compile the assembly output file test.s and output the test.o file.

No option link

gcc test.o -o test
Copy after login

Link the compiled output file test.o into the final executable file test.

Options -O

gcc -O1 test.c -o test
Copy after login

Compile the program using compilation optimization level 1. The level is 1~3. The larger the level, the better the optimization effect, but the longer the compilation time.

Compilation method of multi-source files

If there are multiple source files, there are basically two compilation methods:

Assume there are two source files test.c and testfun.c

Compile multiple files together

gcc testfun.c test.c -o test
Copy after login

Compile testfun.c and test.c separately and link them into the test executable file.

Compile each source file separately, and then link the compiled output target file.

gcc -c testfun.c    #将testfun.c编译成testfun.o
gcc -c test.c       #将test.c编译成test.o
gcc -o testfun.o test.o -o test    #将testfun.o和test.o链接成test
Copy after login

Comparing the above two methods, the first method requires all files to be recompiled when compiling, while the second method can only recompile modified files, and unmodified files do not need to be recompiled.

The above is the detailed content of Detailed explanation of commands-GCC. For more information, please follow other related articles on the PHP Chinese website!

source:linuxprobe.com
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Popular Tutorials
More>
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template