Jul
16

Linux上安装GCC编译器过程
2008-07-16 9:08 am 作者:mclee.openid.35.com

2004年4月20日最新版本的GCC编译器3.4.0发布了。目前,GCC可以用来编译C/C++、FORTRAN、JAVA、OBJC、ADA等语言的程序,可根据需要选择安装支持的语言。GCC 3.4.0比以前版本更好地支持了C++标准。本文以在Redhat Linux上安装GCC3.4.0为例,介绍了GCC的安装过程。
  安装之前,系统中必须要有cc或者gcc等编译器,并且是可用的,或者用环境变量CC指定系统上的编译器。如果系统上没有编译器,不能安装源代码形式的GCC 3.4.0。如果是这种情况,可以在网上找一个与你系统相适应的如RPM等二进制形式的GCC软件包来安装使用。本文介绍的是以源代码形式提供的GCC软件包的安装过程,软件包本身和其安装过程同样适用于其它Linux和Unix系统。
  系统上原来的GCC编译器可能是把gcc等命令文件、库文件、头文件等分别存放到系统中的不同目录下的。与此不同,现在GCC建议我们将一个版本的GCC安装在一个单独的目录下。这样做的好处是将来不需要它的时候可以方便地删除整个目录即可(因为GCC没有uninstall功能);缺点是在安装完成后要做一些设置工作才能使编译器工作正常。在本文中我采用这个方案安装GCC 3.4.0,并且在安装完成后,仍然能够使用原来低版本的GCC编译器,即一个系统上可以同时存在并使用多个版本的GCC编译器。
  按照本文提供的步骤和设置选项,即使以前没有安装过GCC,也可以在系统上安装上一个可工作的新版本的GCC编译器。
  1. 下载
  在GCC网站上(http://gcc.gnu.org/)或者通过网上搜索可以查找到下载资源。目前GCC的最新版本为 3.4.0。可供下载的文件一般有两种形式:gcc-3.4.0.tar.gz和gcc-3.4.0.tar.bz2,只是压缩格式不一样,内容完全一致,下载其中一种即可。
  2. 解压缩
  根据压缩格式,选择下面相应的一种方式解包(以下的“%”表示命令行提示符):
  % tar xzvf gcc-3.4.0.tar.gz
  或者
  % bzcat gcc-3.4.0.tar.bz2 | tar xvf -
  新生成的gcc-3.4.0这个目录被称为源目录,用${srcdir}表示它。以后在出现${srcdir}的地方,应该用真实的路径来替换它。用pwd命令可以查看当前路径。
  在${srcdir}/INSTALL目录下有详细的GCC安装说明,可用浏览器打开index.html阅读。
  3. 建立目标目录
  目标目录(用${objdir}表示)是用来存放编译结果的地方。GCC建议编译后的文件不要放在源目录${srcdir]中(虽然这样做也可以),最好单独存放在另外一个目录中,而且不能是${srcdir}的子目录。
  例如,可以这样建立一个叫 gcc-build 的目标目录(与源目录${srcdir}是同级目录):
  % mkdir gcc-build
  % cd gcc-build
  以下的操作主要是在目标目录 ${objdir} 下进行。
  4. 配置
  配置的目的是决定将GCC编译器安装到什么地方(${destdir}),支持什么语言以及指定其它一些选项等。其中,${destdir}不能与${objdir}或${srcdir}目录相同。
  配置是通过执行${srcdir}下的configure来完成的。其命令格式为(记得用你的真实路径替换${destdir}):
  % ${srcdir}/configure --prefix=${destdir} [其它选项]
  例如,如果想将GCC 3.4.0安装到/usr/local/gcc-3.4.0目录下,则${destdir}就表示这个路径。
  在我的机器上,我是这样配置的:
  % ../gcc-3.4.0/configure --prefix=/usr/local/gcc-3.4.0 --enable-threads=posix --disable-checking --enable--long-long --host=i386-redhat-linux --with-system-zlib --enable-languages=c,c++,java
  将GCC安装在/usr/local/gcc-3.4.0目录下,支持C/C++和JAVA语言,其它选项参见GCC提供的帮助说明。
  5. 编译
  % make
  这是一个漫长的过程。在我的机器上(P4-1.6),这个过程用了50多分钟。
  6. 安装
  执行下面的命令将编译好的库文件等拷贝到${destdir}目录中(根据你设定的路径,可能需要管理员的权限):
  % make install
  至此,GCC 3.4.0安装过程就完成了。
  6. 其它设置
  GCC 3.4.0的所有文件,包括命令文件(如gcc、g++)、库文件等都在${destdir}目录下分别存放,如命令文件放在bin目录下、库文件在lib下、头文件在include下等。由于命令文件和库文件所在的目录还没有包含在相应的搜索路径内,所以必须要作适当的设置之后编译器才能顺利地找到并使用它们。
  6.1 gcc、g++、gcj的设置
  要想使用GCC 3.4.0的gcc等命令,简单的方法就是把它的路径${destdir}/bin放在环境变量PATH中。我不用这种方式,而是用符号连接的方式实现,这样做的好处是我仍然可以使用系统上原来的旧版本的GCC编译器。
  首先,查看原来的gcc所在的路径:
  % which gcc
  在我的系统上,上述命令显示:/usr/bin/gcc。因此,原来的gcc命令在/usr/bin目录下。我们可以把GCC 3.4.0中的gcc、g++、gcj等命令在/usr/bin目录下分别做一个符号连接:
  % cd /usr/bin
  % ln -s ${destdir}/bin/gcc gcc34
  % ln -s ${destdir}/bin/g++ g++34
  % ln -s ${destdir}/bin/gcj gcj34
  这样,就可以分别使用gcc34、g++34、gcj34来调用GCC 3.4.0的gcc、g++、gcj完成对C、C++、JAVA程序的编译了。同时,仍然能够使用旧版本的GCC编译器中的gcc、g++等命令。
  6.2 库路径的设置
  将${destdir}/lib路径添加到环境变量LD_LIBRARY_PATH中,最好添加到系统的配置文件中,这样就不必要每次都设置这个环境变量了。
  例如,如果GCC 3.4.0安装在/usr/local/gcc-3.4.0目录下,在RH Linux下可以直接在命令行上执行或者在文件/etc/profile中添加下面一句:
  setenv LD_LIBRARY_PATH /usr/local/gcc-3.4.0/lib:$LD_LIBRARY_PATH
  7. 测试
  用新的编译命令(gcc34、g++34等)编译你以前的C、C++程序,检验新安装的GCC编译器是否能正常工作。
  8. 根据需要,可以删除或者保留${srcdir}和${objdir}目录。

推荐(0)
收藏
May
03

月薪1600多么?
2008-05-03 10:21 pm 作者:mclee.openid.35.com

如今物价飞涨!工资总是维持在90年代末期。。。对于这个水平不知道在如今的北京人才市场算什么档次。

月花销列个表给自己个回忆:

个人吃喝:免费(公司+家里)
陪女友吃喝:100~400
交通费:200
给女友买穿戴:300~600
给自己买穿戴:不定0~1000
交际应酬:200~400

基本上每月都会一大笔信用卡账单未付。。。。
个人有型资产:市值3000元电脑一台,psp 2000一台,摩托一架,手机(公司的),adidas球鞋3双,匡威球鞋真假各一双。

哎~这样的日子怎么结束呢??什么时候能买房呢?30岁能达到年薪10万?

推荐(0)
收藏
Apr
30

windows xp sp3 关于bt下载的问题解决!
2008-04-30 9:50 am 作者:mclee.openid.35.com

前些日子,微软正式推出xp 的sp3简体补丁,国外网友已经测试通过相对sp2可提升10%的系统性能,于是我从盗湾升级了sp3,之后发现一个很严重的问题,tcp的连接数被限制了!当你用bt的时候,是无法打开网页的!!微软太可恶了。。。于是我从天极找到了sp3专用的破解补丁奉上!

[download=32]
 

推荐(0)
收藏
Apr
17

Microsoft IIS 6.0 优化
2008-04-17 9:33 am 作者:mclee.openid.35.com

去年,由于手头上遇到IIS需要频繁重启的故障,今年在别的项目中又遇到了,原来在Web上找了甚多IIS的优化技巧,整理了一下,加了一些我自己的心得,使用这样知识应该能大程度的优化IIS~~

IIS 6.0 应用了新的进程模型。内核模式的HTTP侦听程序(Http.sys)接收并发送HTTP请求(甚至可以使用它的响应缓存来满足请求)。工作进程注册URL子空间,Http.sys将请求发送到相应的进程(如果使用应用程序池,则发送到进程集合)。

图 4 展示了IIS 5.0和IIS 6.0进程模型之间的差异。IIS 5.0使用WinSock在端口80接受连接。请求由 inetinfo 进程负责接收,然后或者在进程内执行请求,或者将它交给dllhost 进程在进程外进行处理(为了达到隔离的目的)。响应则由 inetinfo 进程发送回去。

阅读全文... 

推荐(0)
收藏
Mar
26

Ethereal更名后的Wireshark最新版本下载
2008-03-26 2:40 pm 作者:mclee.openid.35.com

 

Wireshark在2006年夏天以前叫做Ethereal,他是一款奇妙的、开源的网络协议分析工具,支持Unix和Windows平台,他允许你在一个网络内部实时分析数据或者捕捉数据文件去磁盘,你能够通过图形界面很直观的去浏览捕捉的数据信息,研究数据包每一层的详细信息,Wireshark 有几个强大的功能特性,包括一个丰富的显示过滤器语言和高能力的TCP会话重组流查看。他也支持上百种协议和媒体类型, 拥有一个类似tcpdump的名为tethereal的的命令行版本,一个警告,Ethereal 已经遭受很多可利用的远程安全漏洞攻击,因此需要在运行中经常的更新,并在一些不信任的网络中小心运行使用!

下载地址

推荐(0)
收藏
Mar
26

WildPackets.OmniPeek.Enterprise.with.Enhanced.Voice.Option.v...
2008-03-26 1:27 pm 作者:mclee.openid.35.com

 

作为Omni企业网络分析平台的控制台软件,OmniPeek提供了直观易用的图形界面供工程师快速分析和解决企业网络故障。OmniPeek对管理下的所有网络提供了集中专家分析,使用OmniPeek的直观界面,网络工程师即使是入门者也可以快速分析多个网段中的故障,深入多层次分析,指出问题所在。

使用说明:
1.首先请确定你已经卸载了旧版本的程序!
2.运行Setup目录中的文件安装原版程序!
3.复制Setup\KG\目录中的注册机程序到安装目录中并算出你的注册码!
4.用刚才算的的注册码注册(也可以输入SN.TXT文本中的注册信息进行注册)!
5.恭喜你,你成功了!^_^

搜遍互联网终于下载了5.0的omnipeek,具体做什么使用的,请咨询www.g.cn,

下载地址

推荐(0)
收藏
Mar
13

软交换中MG/AG/TG/SG/MSAG/WAG/MGCP/IAD的含义
2008-03-13 4:47 pm 作者:mclee.openid.35.com

MGCP:全称Media Gateway Control protocol,媒体网关控制协议

是用于物理分开的多媒体网关单元控制的协议,能把呼叫控制从媒体转换中分离出来,

Megaco/H.248 说明了媒体网关(MG)和媒介网关控制器之间的联系。媒体网关用于转换电路交换语音到基于包的通信流量,而媒介网关控制器用于规定这种流量的服务逻辑。Megaco/H.248 通知 MG 将来自于数据包或单元数据网络之外的数据流连接到数据包或单元数据流上,如实时传输协议(RTP)。从 VOIP 结构和网关控制的关系来看,Megaco/H.248 与 MGCP 在本质上相当相似,但是 Megaco/H.248 支持更广泛的网络,如 ATM。

MG:Media Gateway媒体网关

主要扮演将语音讯号转换成为IP封包的角色 

MG分AG,TG,SG几类: 

AG:综合接入媒体网关

用于完成各种多媒体数据源的信息,将视频与音频混合的多媒体流适配为IP包。

是将一种网络中的媒体转换成另一种网络所要求的媒体格式。如媒体网关能够在电路交换网的承载通道和分组网的媒体流之间进行转换,可以处理音频、视频或T.120,也具备处理这三者任意组合的能力,并且能够进行全双工的媒体翻译,可以演示视频/音频消息,实现其他IVR功能,同时还可以进行媒体会议等。 

TG:Trunk Gateway中继网关

是NGN解决方案的重要组成部分,它位于NGN网络的边缘接入层,连接PSTN和NGN网络,实现IP包转TDM的功能。

TG承载着IP域与电路域的语音汇接任务,对电路侧的回音需要有很好的处理机制,中继网关可提供以太网口,通过SIP/H.323协议与软交换系统互连,通过E1接口,与PABX/PSTN相连,实现PSTN与IP网络的互联.可完成SIP/H.323协议与NO.7/Pri信令的转换,同时,使PSTN网络与IP网络实现完美的融合。

SG:Signaling Gateway信令网关

用于完成与PSTN/PLMN电话交换机的信令连接,将电话交换机采用的基于TDM电路的七号信令信息转换为IP包。

MSAG :Media Servers Access Gateway多媒体业务网关

用于完成各种多媒体数据源的信息,将视频与音频混合的多媒体流适配为IP包。 H.323网关:用于连接采用H.323协议的IP电话网网关.

 WAG:Wireless Access Gateway无线接入媒体网关

用于将无线接入用户连接至软交换网.

AG、TG和SG共同完成了电话交换机的业务接入功能模块的功能,实现了普通PSTN/PLMN电话用户的语音业务的接入,并将语音信息适配为适合在软交换网内传送的IP包。同时软交换技术还对业务接入功能进行了扩展,体现在IAD、MSAG、H.323 GW、WAG等几类媒体网关。通过各类MG,软交换网实现了将PSTN/PLMN用户、H.323 IP电话网用户、普通有线电话用户、无线接入用户的语音、数据、多媒体业务的综合接入。

 IAD:Integrated Access Device综合接入设备

一类IAD同时提供模拟用户线和以太网接口,分别用于普通电话机的接入和计算机设备的接入,适用于分别利用电话机使用电话业务、利用计算机使用数据业务的用户;另一类IAD仅提供以太网接口,用于计算机设备的接入,适用于利用计算机同时使用电话业务和数据业务的用户,此时需在用户计算机设备中安装专用的“软电话软件”。

推荐(0)
收藏
Mar
06

“HTTP/1.1 503 服务不可用”已解决
2008-03-06 4:19 pm 作者:mclee.openid.35.com

今天在测试时发现无法访问邮件服务器的公共目录了,于是尝试使用

X:\exchange_2003_cn\setup.exe /disasterrecovery进行灾难恢复,在恢复之后发现无法访问owa了,几次输入用户名密码都无效,也尝试创建新的用户,无果。

我想到是不是权限在恢复的时候被取消了?,检查之后发现几个关键属性都在,看了网上的解释有的说把“虚拟目录”中“应用程序映射”里面的“X:\Program Files\Exchsrvr\bin\davex.dll”删掉,我照做后发现目录是可以访问了,但是却真的只是目录。。。无奈再次使用灾难恢复,我开始找exchange上的问题。

最后我发现在exchange的系统管理器里面服务器-第一个存储组-公共文件夹和邮箱存储没有启动。。当我启动后发现owa可以访问了。。。

但是现在有一个问题:就是在我安装exchange之后只要在iis填上域名就会出现无法访问公共文件夹的问题,不知道如何解决?

推荐(0)
收藏
Feb
26

exchange server 2003 安装问题处理
2008-02-26 2:20 pm 作者:mclee.openid.35.com

今天在windows2003sp2上安装exchange 2003的时候发现在安装到最后一步时,出现“消息与协作服务”无法安装的情况,提示internet组件信息元被损坏,经过google查询没有什么结果,尝试重新安装internet信息组件,问题解决。

推荐(0)
收藏
Feb
20

教你添加网络打印机
2008-02-20 12:09 pm 作者:mclee.openid.35.com

公司搬家,统一配置网络打印机,型号为hp 4100

第一步:配置打印机

在网络打印机的液晶面板上选择network configuration,再找到eio2 config,再找到tcp/ip的配置选项,利用面板按钮配上需要用的ip地址。

第二步:配置客户端

在“打印机和传真”里双击“添加打印机”,选择第一项,点下一步,点创建新端口,选择邮编列表中的“端口类型”为“standard tcp/ip prot”,点击两次下一步,然后在第一个方框里添入打印机的ip地址,之后点完成,然后选择打印机的驱动,由于4100为老型号的打印机,所以xp的系统中自带了它的驱动程序,先找左边的hp厂家,再找右边的型号为HP LaserJet 4100 Series PCL,为了方便使用,可以设置为默认打印机,然后下一步,最后点完成会自动安装驱动,大功告成。

推荐(0)
收藏