LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 955|回复: 7

collect2这个东西有什么作用的啊?

[复制链接]
发表于 2004-12-3 18:05:11 | 显示全部楼层 |阅读模式
collect2好像是跟连接有关,而且似乎是用于c++中的构造函数。
不过具体是什么东西啊?不清楚啊!
请大虾指教
发表于 2004-12-4 03:00:29 | 显示全部楼层
用 gcc -verbose ... 查看详细的 gcc 编译各阶段【编译,汇编,连接】,发现 gcc-3.3 已不直接用 ld 了,就是这个 collect2!
 楼主| 发表于 2004-12-4 16:28:10 | 显示全部楼层
怎么查看gcc 编译各阶段【编译,汇编,连接】?
用gcc --verbose 看到好像是它的版本号和一些配置信息
发表于 2004-12-4 16:53:46 | 显示全部楼层
把你看到的信息贴出来让大家分析。
 楼主| 发表于 2004-12-4 23:52:30 | 显示全部楼层
Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/3.3.2/specs
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --disable-checking --with-system-zlib --enable-__cxa_atexit --host=i386-redhat-linux
Thread model: posix
gcc version 3.3.2 20031022 (Red Hat Linux 3.3.2-1)
发表于 2004-12-5 03:33:30 | 显示全部楼层
那是没有源文件编译时的输出。

怎么查看gcc 编译各阶段【编译,汇编,连接】?
就是 gcc -v filename.c 接上一个文件就是了,输出如下:

Reading specs ...
Configured with ...
Thread-model: posix
gcc version 3.3.5 (Debian 1:3.3.5-2)
/usr/lib/gcc-lib/i486-pc/3.3.5/cc1 ...
as ...
/usr/lib/gcc-lib/i486-pc/3.3.5/collect2 ...

其中 -v 是 --verbose 的简化,由于本人开发用的和上网用的不是同一台机,只能写出我记得的大概如上了,具体如何请你再贴一个实际的输出吧。
 楼主| 发表于 2004-12-9 22:59:53 | 显示全部楼层
Reading specs from /usr/lib/gcc-lib/i386-redhat-linux/3.3.2/specs
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --enable-shared --enable-threads=posix --disable-checking --with-system-zlib --enable-__cxa_atexit --host=i386-redhat-linux
Thread model: posix
gcc version 3.3.2 20031022 (Red Hat Linux 3.3.2-1)
/usr/lib/gcc-lib/i386-redhat-linux/3.3.2/cc1 -quiet -v -D__GNUC__=3 -D__GNUC_MINOR__=3 -D__GNUC_PATCHLEVEL__=2 test.c -quiet -dumpbase test.c -auxbase test -version -o /tmp/cccg16tb.s
GNU C version 3.3.2 20031022 (Red Hat Linux 3.3.2-1) (i386-redhat-linux)
compiled by GNU C version 3.3.2 20031022 (Red Hat Linux 3.3.2-1).
GGC heuristics: --param ggc-min-expand=38 --param ggc-min-heapsize=15747
ignoring nonexistent directory "/usr/i386-redhat-linux/include"
#include "..." search starts here:
#include <...> search starts here:
/usr/local/include
/usr/lib/gcc-lib/i386-redhat-linux/3.3.2/include
/usr/include
End of search list.
as -V -Qy -o /tmp/cc375Cdd.o /tmp/cccg16tb.s
GNU assembler version 2.14.90.0.6 (i386-redhat-linux) using BFD version 2.14.90.0.6 20030820
/usr/lib/gcc-lib/i386-redhat-linux/3.3.2/collect2 --eh-frame-hdr -m elf_i386 -dynamic-linker /lib/ld-linux.so.2 /usr/lib/gcc-lib/i386-redhat-linux/3.3.2/../../../crt1.o /usr/lib/gcc-lib/i386-redhat-linux/3.3.2/../../../crti.o /usr/lib/gcc-lib/i386-redhat-linux/3.3.2/crtbegin.o -L/usr/lib/gcc-lib/i386-redhat-linux/3.3.2 -L/usr/lib/gcc-lib/i386-redhat-linux/3.3.2/../../.. /tmp/cc375Cdd.o -lgcc -lgcc_eh -lc -lgcc -lgcc_eh /usr/lib/gcc-lib/i386-redhat-linux/3.3.2/crtend.o /usr/lib/gcc-lib/i386-redhat-linux/3.3.2/../../../crtn.o

好多啊,看得我的眼睛都花了
基本上看不懂
发表于 2004-12-10 09:02:00 | 显示全部楼层
都出来了。还有什么看不懂的?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表