One, GCC compilers and common commands
The GCC compiler supports not only the C language, but also the ADA, C + +, and Objective-c languages. The general compilation process can be divided into four stages: preprocessing (preprocessing), compilation (compilation), assembly (Assembly), and connection (linking)
1, one step of the compilation instructions
Consists of four stages
GCC test.c–o Test
2. pretreatment
Inserts the contents of the header file into the test.c file, and-E is stopped after the end of the preprocessing and outputs the preprocessing results
Gcc–e Test.c–o test.i
3. Compiling
Compile to. i file, generate assembly code,-S indicates stop after generating assembly code,-O Output assembly code file
Gcc–s Test.i–o Test.s
4. Compilation
Compiling assembly code files into target files
Gcc–c Test.s–o TEST.O
5. Connection
Connect it to the C standard input and output library, and the resulting program test
GCC test.o–o Test
6. Implementation
In the command-line window, execute the./test
The meaning of different file representations:
TEST.C (source file)->test.i (-e preprocessed file)->test.s (-S assembly file)->TEST.O (-c destination file)->test (-o executable)
Compiling for multiple source files:
1, one step
GCC test1.c test2.c–o Test
2, some complex (the execution process and one step are the same, are pre-processing--------)
Gcc-c Test1.c-o TEST1.O
Gcc-c Test2.c-o TEST2.O
GCC test1.o test2.o-o Test
Meaning of common command options:
1,-c only compile not connected
2,-O optimized compiled code, followed by numbers to represent the optimization level
3,-o Specifies the file name of the output
4,-v shows the commands used at each step of the compilation process
Second, the use of the Objdump command
Objdump is a command to disassemble the target file or executable file under Linux
1, Objdump–d test
Those sections in the Undo table test that need to execute instructions
2, Objdump–h test
Show section header information for test
3, Objdump–s TEST.O
Output c source code and disassembly of the instruction control format
4, Objdump–h
Displays header summary information for each section of the target file
5, Objdump–r
Display the relocation entry for a file
6, objdump–t display file symbol table entrance
Third, File command
The file command is a command that detects the types of files and can read the encoding system of the file and some other information
Summary of how GCC, objdump, and file commands are used under Linux