9.3 详细编译

‘-v’选项也可以用于显示编译和链接程序时的详细信息。这个例子是编译Hello World程序时显示的详细信息:

$ gcc -v -Wall hello.c

Reading specs from /usr/lib/gcc-lib/i686/3.3.1/specs

Configured with: ../configure --prefix=/usr

Thread model: posix

gcc version 3.3.1

/usr/lib/gcc-lib/i686/3.3.1/cc1 -quiet -v -DGNUC=3

-DGNUC_MINOR=3 -DGNUC_PATCHLEVEL=1

hello.c -quiet -dumpbase hello.c -auxbase hello -Wall

-version -o /tmp/cceCee26.s

GNU C version 3.3.1 (i686-pc-linux-gnu)

compiled by GNU C version 3.3.1 (i686-pc-linux-gnu)

GGC heuristics: --param ggc-min-expand=51

--param ggc-min-heapsize=40036

ignoring nonexistent directory "/usr/i686/include"

include "..." search starts here:

include <...> search starts here:

/usr/local/include

/usr/include

/usr/lib/gcc-lib/i686/3.3.1/include

/usr/include

End of search list.

as -V -Qy -o /tmp/ccQynbTm.o /tmp/cceCee26.s

GNU assembler version 2.12.90.0.1 (i386-linux)

using BFD version 2.12.90.0.1 20020307 Debian/GNU

Linux

/usr/lib/gcc-lib/i686/3.3.1/collect2

--eh-frame-hdr -m elf_i386 -dynamic-linker

/lib/ld-linux.so.2 /usr/lib/crt1.o /usr/lib/crti.o

/usr/lib/gcc-lib/i686/3.3.1/crtbegin.o

-L/usr/lib/gcc-lib/i686/3.3.1

-L/usr/lib/gcc-lib/i686/3.3.1/../../.. /tmp/ccQynbTm.o

-lgcc -lgcc_eh -lc -lgcc -lgcc_eh

/usr/lib/gcc-lib/i686/3.3.1/crtend.o

/usr/lib/crtn.o

当编译过程自身有错误时‘-v’选项产生的编译信息是非常有用的。它显示了查找头文件和库文件的绝对路径,预处理器符号和用于链接的目标文件和库文件。