2012-06-01 14 views
5

Ho ottenuto il significato di "gcc -s" attraverso il motore di ricerca. Significa strisciare i simboli durante il collegamento.come ottenere la spiegazione di gcc -s?

Ma come posso ottenere queste informazioni usando "man gcc" o "gcc --help"? Sembra informazioni rilevanti:

[email protected]:~# gcc --help 
Usage: gcc [options] file... 
Options: 
    -pass-exit-codes   Exit with highest error code from a phase 
    --help     Display this information 
    --target-help   Display target specific command line options 
    --help={target|optimizers|warnings|params|[^]{joined|separate|undocumented}}[,...] 
          Display specific types of command line options 
    (Use '-v --help' to display command line options of sub-processes) 
    --version    Display compiler version information 
    -dumpspecs    Display all of the built in spec strings 
    -dumpversion    Display the version of the compiler 
    -dumpmachine    Display the compiler's target processor 
    -print-search-dirs  Display the directories in the compiler's search path 
    -print-libgcc-file-name Display the name of the compiler's companion library 
    -print-file-name=<lib> Display the full path to library <lib> 
    -print-prog-name=<prog> Display the full path to compiler component <prog> 
    -print-multi-directory Display the root directory for versions of libgcc 
    -print-multi-lib   Display the mapping between command line options and 
          multiple library search directories 
    -print-multi-os-directory Display the relative path to OS libraries 
    -print-sysroot   Display the target libraries directory 
    -print-sysroot-headers-suffix Display the sysroot suffix used to find headers 
    -Wa,<options>   Pass comma-separated <options> on to the assembler 
    -Wp,<options>   Pass comma-separated <options> on to the preprocessor 
    -Wl,<options>   Pass comma-separated <options> on to the linker 
    -Xassembler <arg>  Pass <arg> on to the assembler 
    -Xpreprocessor <arg>  Pass <arg> on to the preprocessor 
    -Xlinker <arg>   Pass <arg> on to the linker 
    -combine     Pass multiple source files to compiler at once 
    -save-temps    Do not delete intermediate files 
    -pipe     Use pipes rather than intermediate files 
    -time     Time the execution of each subprocess 
    -specs=<file>   Override built-in specs with the contents of <file> 
    -std=<standard>   Assume that the input sources are for <standard> 
    --sysroot=<directory> Use <directory> as the root directory for headers 
          and libraries 
    -B <directory>   Add <directory> to the compiler's search paths 
    -b <machine>    Run gcc for target <machine>, if installed 
    -V <version>    Run gcc version number <version>, if installed 
    -v      Display the programs invoked by the compiler 
    -###      Like -v but options quoted and commands not executed 
    -E      Preprocess only; do not compile, assemble or link 
    -S      Compile only; do not assemble or link 
    -c      Compile and assemble, but do not link 
    -o <file>    Place the output into <file> 
    -x <language>   Specify the language of the following input files 
          Permissible languages include: c c++ assembler none 
          'none' means revert to the default behavior of 
          guessing the language based on the file's extension 

risposta

5

Da man gcc:

-s Remove all symbol table and relocation information from the 
     executable. 

trovato questo cercando "-s" (nota iniziali e finali spazio) nell'uomo cercapersone.

+1

Perché si desidera utilizzare questa opzione? Non sembra così utile. – hifkanotiks

+0

@bearbin: riduce la dimensione dell'eseguibile – Jack