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