Home  >  Article  >  System Tutorial  >  Detailed explanation of commands-GCC

Detailed explanation of commands-GCC

王林
王林forward
2024-03-25 21:27:091162browse

Detailed explanation of commands-GCC

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

Common compilation command options

Assume that the source program file is named test.c

Compile link without options

gcc test.c

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

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

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

Options -S

gcc -S test.i

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

Options -c

gcc -c test.s

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

No option link

gcc test.o -o test

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

Options -O

gcc -O1 test.c -o test

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

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

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!

Statement:
This article is reproduced at:linuxprobe.com. If there is any infringement, please contact admin@php.cn delete