📄 gcc-howto-2.html
字号:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN">
<HTML>
<HEAD><META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=gb2312">
<META NAME="GENERATOR" CONTENT="SGML-Tools 1.0.7">
<TITLE>The Linux GCC HOWTO中译版V0.2: 东东在哪儿?</TITLE>
<LINK HREF="GCC-HOWTO-3.html" REL=next>
<LINK HREF="GCC-HOWTO-1.html" REL=previous>
<LINK HREF="GCC-HOWTO.html#toc2" REL=contents>
</HEAD>
<BODY>
<A HREF="GCC-HOWTO-3.html">Next</A>
<A HREF="GCC-HOWTO-1.html">Previous</A>
<A HREF="GCC-HOWTO.html#toc2">Contents</A>
<HR>
<H2><A NAME="s2">2. 东东在哪儿?</A></H2>
<H2><A NAME="ss2.1">2.1 GCC-HOWTO在哪儿?</A>
</H2>
<P> 这份文件是Linux HOWTO系列之一,换句话说,你可以在所有存放Linux HOWTO文件的网站上面找到她的芳踪,例如
<A HREF="http://sunsite.unc.edu/pub/linux/docs/HOWTO/">http://sunsite.unc.edu/pub/linux/docs/HOWTO/</A>。HTML的版本(可能会是较新的版本)可以从
<A HREF="http://ftp.linux.org.uk/~barlow/howto/gcc-howto.html">http://ftp.linux.org.uk/~barlow/howto/gcc-howto.html</A>上面抓下来。
<P>
<H2><A NAME="index.4"></A> <A NAME="ss2.2">2.2 GCC相关的资料又在哪儿?</A>
</H2>
<P>标准的gcc说明文件是随附在发行的原始码(source distribution)内(往下看就有了!),里头有textinfo与<CODE>.info</CODE>两种档案。要是你的网路连接速率够快,或是有一片cdrom,不然,有高度的耐心也成,你可以自己把它untar,然後再把相对应的位元一一拷贝到<CODE>/usr/info</CODE>的目录底下。假如你的条件与上述的不符,不妨到
<A HREF="ftp://tsx-11.mit.edu:/pub/linux/packages/GCC/">tsx-11</A>站上去参观参观。不过,我想,没有必要老是惦记著最新的版本吧!
<P>
<A NAME="index.5"></A>
<P>
<P> libc的文件说明有两种来源。一种是GNU libc,以.info的格式储存,除了stdio之外,其馀Linux libc的说明都相当的详尽精确。另一种可以在Linux的archive
<A HREF="ftp://sunsite.unc.edu/pub/Linux/docs/">manpages</A>上找到系统呼叫(system call)(第2节)与libc函数(function)(第3节)的文件说明。
<P>
<H2><A NAME="index.6"></A> <A NAME="ss2.3">2.3 GCC </A>
</H2>
<P>解答有二:
<P>(a)你可以在
<A HREF="ftp://tsx-11.mit.edu:/pub/linux/packages/GCC/">ftp://tsx-11.mit.edu:/pub/linux/packages/GCC/</A>的网站上找到
正式的Linux GCC发行系统(distribution),而且是已经编译好的可执行档。当我在写这份文件时,2.7.2(<CODE>gcc-2.7.2.bin.tar.gz</CODE>)是最新的版本。
<P>(b)自由软体基金会(Free Software Foundation)所发布的GCC最新原始码可以从网站
<A HREF="ftp://prep.ai.mit.edu/pub/gnu/">GNU archives</A>上取得。没有必要非得与上述的版本一致才行,不过这个版本的确是目前最新的。Linux GCC的维护网友(maintainers)让你可以很轻松的自行编译这个最新的版本。<CODE>configure</CODE>命令稿(script)会帮你自动设定好所有该做的事情。建议你有空不妨到
<A HREF="ftp://tsx-11.mit.edu:/pub/linux/packages/GCC/">tsx-11</A>看看,说不定会有修正的版本是你会想要用的。
<P>如果想要编写出一些有用的软体(不是我罗唆,还是有不少没啥用途的软体在网路上四处流窜。),下面这一小节所谈的也是你需要的:
<P>
<H2><A NAME="index.7"></A> <A NAME="ss2.4">2.4 C程式馆与标头档</A>
</H2>
<P>该选哪一套程式馆是取决於(i)你的系统是ELF的或是a.out的;(ii)你希望你的系统变成哪一种?如果你是从libc 4升级到libc 5,那麽给你一个良心的建议,先去看看ELF-HOWTO再说。你一定会问,在ELF文件的哪儿呢?嘿!嘿!不偏不倚,就差不多跟这份文件相同的位置。网站
<A HREF="ftp://tsx-11.mit.edu:/pub/linux/packages/GCC/">tsx-11</A>上面可以找到你想要的。
<P>
<DL>
<P>
<DT><B><CODE>libc-5.2.18.bin.tar.gz</CODE></B><DD><P>--- ELF共享程式馆(ELF shared library images),静态程式馆(static libraries)与标头档(针对C语言与数学程式馆)。
<P>
<DT><B><CODE>libc-5.2.18.tar.gz</CODE></B><DD><P>---libc-5.2.18.bin.tar.gz的原始码。这个档案你也需要,因为<CODE>.bin.</CODE>套件(package)含有必需的标头档。如果此时你正犹豫不决,不晓得是老身亲自下海,动手编译C程式库比较好;还是直接用人家编译好的二进位档(binaries)就可以了。有这种困扰的人,来,看我的嘴形:用人家编译好的二进位档不就解决了嘛!只有在你想要NYS或是shadow password的情况下,才需要自己的手来推动摇篮。
<P>
<DT><B><CODE>libc-4.7.5.bin.tar.gz</CODE></B><DD><P>--- 这个档案是a.out的共享程式库(shared library images)与静态程式库,用途是为了与前述的libc 5套件共存共荣而设计的,不过除非你想要继续使用a.out的程式或是继续发展a.out的程式,不然的话,是不需要它的。
<P>
</DL>
<P>
<H2><A NAME="index.11"></A> <A NAME="index.10"></A> <A NAME="index.9"></A> <A NAME="index.8"></A> <A NAME="ss2.5">2.5 有关联的工具 (as, ld, ar, strings etc)</A>
</H2>
<P>到目前为止,与之前所谈的都一样,从网站
<A HREF="ftp://tsx-11.mit.edu:/pub/linux/packages/GCC/">tsx-11</A>上,就可以找到这些工具程式。目前的版本是<CODE>binutils-2.6.0.2.bin.tar.gz</CODE>。
<P>
<P>需要注意的是binutils只适用於ELF,而且目前libc的版本也都是属於ELF的;当然啦,习惯a.out的人如果有个ELF的libc与a.out的libc联合起来一起使用,这对他们来讲是再好不过的美事了。不可否认的,C程式馆的发展正以坚决的脚步迈向ELF的格式,除非你真的有很好的理由,需要a.out的东东,不然啊,大家都会鼓励你勇於突破,趁早加入锐不可挡的大潮流。
<P>11/9/97译
<P>
<P>
<P>
<HR>
<A HREF="GCC-HOWTO-3.html">Next</A>
<A HREF="GCC-HOWTO-1.html">Previous</A>
<A HREF="GCC-HOWTO.html#toc2">Contents</A>
</BODY>
</HTML>
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -