灌溉梦想,记录脚步

中国软件业务收入前百家企业

  6月12日消息,工信部和国家统计局今日联合发布2009年第八届”中国软件业务收入前百家企业(简称前百家企业)”排名。华为软件年收入555.6亿元,连续八年名列前百家企业榜首。
  前百家企业企业排行榜,是在工信部与国家统计局联合开展的全国软件产业统计年报数据基础上确定的。中兴通讯股份有限公司以248亿元排名第二,神州数码(中国)有限公司以110亿元排名第三。
  本届百家企业共实现软件业务收入2039.5亿元,比上届增加362.6亿元,增长84.4%,占我国软件业总收入的26.3%。入围门槛为3.1亿元,比上届提高了14.8%,是5年前的2倍。软件业务收入超过10亿元的有32企业,比上届增加了4家,(03年仅有17家),是5年前的1.7倍,超过60亿元的企业有6家(03年仅有1家),比上届增加两家。排名前10家企业的收入比上届增长27.9%,占全部百家企业收入的61.9%,比上一届提高了2.8个百分点。新一届前百家企业显示,我国软件产业正不断朝规模化、优质化和服务化发展,产品结构、研发水平都得到了进一步提升,市场正不断向大企业集中、产品不断向服务型转化、技术不断向国际前沿推进。
  2009年中国软件业务收入前百家企业排名详细榜单如下:
  2009年(第八届)中国软件业务收入前百家企业名单
  序号 企业名称 2008年软件业务收入(单位:万元)
  1 华为技术有限公司 5556467
  2 中兴通讯股份有限公司 2480432
  3 神州数码(中国)有限公司 1100385
  4 海尔集团公司 671884
  5 上海贝尔阿尔卡特股份有限公司 651148
  6 熊猫电子集团有限公司 623554
  7 北京北大方正集团公司 403688
  8 浙大网新科技股份有限公司 403085
  9 浪潮集团有限公司 396952
  10 同方股份有限公司 375413
  11 东软集团股份有限公司 360462
  12 中冶赛迪工程技术股份有限公司 314913
  13 南京联创科技股份有限公司 259844
  14 沈阳先锋计算机工程有限公司 231154
  15 中国软件与技术服务股份有限公司 222651
  16 南京南瑞集团(含国电南瑞科技股份有限公司) 216556
  17 中国银联股份有限公司 197040
  18 上海宝信软件股份有限公司 185503
  19 福州福大自动化科技有限公司 178134
  20 用友软件股份有限公司 171704
  21 杭州恒生电子集团有限公司 169000
  22 山东中创软件工程股份有限公司 163520
  23 中国民航信息网络股份有限公司 160911
  24 海信集团有限公司 135668
  25 北京华胜天成科技股份有限公司 131260
  26 武汉邮电科学研究院 125755
  27 烟台东方电子信息集团有限公司 123615
  28 中控科技集团有限公司 120663
  29 上海华讯网络系统股份有限公司 116726
  30 北京东华合创数码科技股份有限公司 115634
  31 深圳市金证科技股份有限公司 109623
  32 启明信息技术股份有限公司 108506
  33 南京南瑞继保电气有限公司 104102
  34 大唐电信科技股份有限公司 96971
  35 杭州海康威视数字技术股份有限公司 88850
  36 大连华信计算机技术股份有限公司 87746
  37 株洲南车时代电气股份有限公司 84937
  38 金蝶软件(中国)有限公司 84643
  39 福建新大陆电脑股份有限公司 84216
  40 深圳市同洲电子股份有限公司 83975
  41 福建星网锐捷通讯股份有限公司 83775
  42 云南南天电子信息产业股份有限公司 83719
  43 珠海金山软件股份有限公司 81487
  44 北京四方继保自动化有限公司 77411
  45 长城计算机软件与系统有限公司 76194
  46 中科软科技股份有限公司 74839
  47 亿阳信通股份有限公司 72597
  48 深圳市大族激光科技股份有限公司 70431
  49 东信和平智能卡股份有限公司 68816
  50 广州广电运通金融电子股份有限公司 68005
  51 北京北大青鸟商用信息系统有限公司 65257
  52 浙江大华技术股份有限公司 63369
  53 杭州和利时自动化有限公司 63047
  54 辽宁天久信息科技产业有限公司 63000
  55 深圳市紫金支点技术股份有限公司 62952
  56 无锡华润矽科微电子有限公司 62440
  57 上海华虹集成电路有限责任公司 61778
  58 北京软通动力信息技术有限公司 60843
  59 信雅达系统工程股份有限公司 60496
  60 长江计算机(集团)公司 60035
  61 北京中电华大电子设计有限责任公司 58094
  62 福建富士通信息软件有限公司 57167
  63 先锋软件股份有限公司 55286
  64 江苏南大苏富特科技股份有限公司 54301
  65 沈阳东大自动化有限公司 54185
  66 沈阳昂立信息技术有限公司 53103
  67 杭州士兰微电子股份有限公司 52851
  68 福建南威软件工程发展有限公司 51203
  69 浙江省公众信息产业有限公司 50481
  70 太极计算机股份有限公司 50342
  71 成都迈普产业集团有限公司 46856
  72 广州海格通信集团股份有限公司 46501
  73 浙江航天金穗科技有限公司 46159
  74 北京瑞星信息技术有限公司 46120
  75 深圳市南凌科技发展有限公司 44508
  76 北京联想软件有限公司 43290
  77 中程科技有限公司 43086
  78 炬力集成电路设计有限公司 43081
  79 四川汇源科技发展股份有限公司 41828
  80 石化盈科信息技术有限责任公司 41625
  81 安徽继远电网技术有限责任公司 41206
  82 昆明昆船物流信息产业有限公司 40825
  83 中盈优创资讯科技有限公司 40503
  84 浙江建达科技股份有限公司 40474
  85 广州从兴电子开发有限公司 40018
  86 北京神州泰岳软件股份有限公司 39856
  87 广州数控设备有限公司 39459
  88 泰豪软件股份有限公司 39273
  89 三维通信股份有限公司 38928
  90 山东三联电子信息有限公司 38472
  91 思创数码科技股份有限公司 38226
  92 江苏金智科技股份有限公司 38200
  93 北京京北方科技股份有限公司 35135
  94 厦门东南融通系统工程有限公司 34719
  95 武汉天喻信息产业股份有限公司 32991
  96 大连大森数控技术发展中心有限公司 32768
  97 上海微创软件有限公司 31913
  98 上海理想信息产业(集团)有限公司 31887
  99 长城信息产业股份有限公司 31647
  100 江苏集群信息产业股份有限公司 31027
  据介绍,本次排名体现出企业规模明显扩大、品牌优势明显增强、创新能力明显提升等特点,此外,大企业的带动效应取得明显进展。

DBA应该具有的素质

作为一名DBA必须有全面知识,从技术角度来说,我们会分成两大块,硬件和软件支持。数据库运行到的设备都是大型设备,便宜一点像一些PC服务器,小的十几万,一些小型级50、60万,一些大型机价钱更贵了。我们要对硬件,主机比较了解,因为数据库直接运行在主机上,如果一个DBA对主机不熟悉,你怎么能说从何管理数据库,所以我们对主机这块必须非常了解。
另外除了对主机我们对磁盘阵列也必须了解,因为当前虽然技术发展,很多银行、证券公司,一些大的网站,他们都是提供7×24小时,7天24小时不间断运转,所以他们的设备,要提供一种高可用性,需要一些大型设备,磁盘阵列也要大型的。
另外DBA对网络也应该有一定了解,现在全球经济是你中有我,我中有你,为什么在这个金融危机发展的前期,各个国家都是各自为政来处理金融危机,但是各个国家包括美国,加拿大,其他国家采取一些措施对金融危机没有产生多大的效果。这次金融危机和美国以前发生的金融危机不一样,以前美国金融危机仅仅是美国一个国家的金融危机,而现在金融危机是全球性,一个公司在全球有很多分公司,它的网络在逻辑上是联在一起,作为一个DBA要管理可能不仅仅是你本地数据库,或者是你中国的数据库,可能你管理是全世界,这些数据库物理可能是分布在韩国日本,所以你对网络也有一定的了解,作为一个DBA硬件层次必须了解这几个方面。
软件方面我们也要了解,首先就是操作系统,我们数据库大部分运行在Linux等平台上,如果我们DBA对他们的系统不了解,那么我们无从管理他们的数据库,因为数据库是运行在操作系统之上,操作系统就是轴,轴功能不好,其他怎么能好的。软件包括操作系统,另外就是应用程序,我们一个数据库运行最终目的,是为了给外面人或者客户提供服务,就存在就是说我们要给其他应用程序提供一个交互,如果就是说你对应用程序如何访问数据库我们连这个原理都不了解,那么我们对数据库进行管理呢?
另外重要就是我们了解运用程序如何访问数据库,为什么这点非常重要,因为我们了解这个机制,我们才能知道如何提高我们数据库性能,如何提高我们数据库的最大化,这块其实我也想多讲一下,因为其实数据库经常会发生性能下降的问题,根据我这几年的经验分析,数据库性能降低60%,是和我们硬件有关,我们硬件已经达到极限,包括内存,CPU计算能力,网络传输能力已经达到极限,这些是40%。60%是我们数据库设置不当导致效率低下,我们进行数据库性能调整,第一点首先要着眼于60%的软件问题,40%是发展我们的硬件。
我们从大的方面讲了技术层面,但要想成为一个优秀DBA有两个方面,一个是技术,一个是文化层面。文化层面就是作为一个优秀的DBA,第一必须冷静,为什么呢,数据库经常发生一些问题,当你用数据库最新版本,把最新应用用到实际工作当中去会遇到很多问题,而且这些问题你在以前没有看到过,谷歌或者百度也找不到答案,遇到这种情况必须保持冷静。另外就是必须谨慎,当你在一个公司管理一个很重要数据库,出现问题的时候,首先你的客户,同事正在等待你解决问题,老板正在催促你,CTO在督促你,这个时候必须保持冷静,因为保持冷静才能静下心来,想方设法解决问题,找到这个问题答案。如果这个时候不冷静,找不到答案,还会给公司带来损失,或导致一些其他的故障。所以作为DBA冷静、谨慎这两点是非常重要的。
另外就是DBA必须有沟通的技巧,这也是非技术问题。大家知道作为一个DBA他要服务的对象很多,大家有时候觉得他是一个很神圣的角色,其实不是这样,DBA其实是一个很下面的角色,为什么呢?因为这个角色为很多人提供服务,你要为客户提供服务,要为其他客户提供支持,你要给开发人员提供技术培训,你要给你的CTO提供整个公司数据库的硬件和软件规划,还有要给你CTO提供性能方面咨询。所以作为一个DBA你要为很多人服务,还有特别是对市场人员,在竞标一个项目的时候,DBA需要为市场人员提供一些数据方面技术支持,所以DBA也需要和市场人员沟通,所以一个DBA做得好做不好,技术是一个层次,沟通也非常重要,跟客户沟通不好,得罪公司客户;和开发人员沟通不好,开发人员可能写不出来高效的程序,不和开发人员进行合作可能导致公司整个项目往后推了;不和市场人员沟通好,市场人员得出数据不利于这个公司发展;不和自己CTO沟通好,不知道你的CTO到底让你做什么,完成什么任务。所以DBA的沟通能力是非常重要的。
另外一点,作为一个DBA必须有挑战精神,为什么必须有挑战精神,因为数据库在不断发展,公司在不断壮大。当公司业务壮大,数据量不断壮大,我们需要一些高端设备,包括硬件软件,我们需要应用新的技术解决我们面临的问题,如果一个DBA没有挑战精神,几年以后你发觉你已经被整个IT业远远落在后面了,所以说一个DBA必须有挑战性,想方设法运用最新技术解决公司问题,新的技术能够让我们业务提高好几倍,所以说DBA另外一个精神就是必须有挑战精神。这就是说作为一个DBA必须要技术全面,第二就是必须谨慎,小心,有挑战精神。这仅仅是我作为一个DBA的感受。
DBA如何提升能力

华为S5600通过路由策略实现上网分流

环境:

华为S5600交换机;
网关10.0.0.1;
网关10.0.1.1;
vlan 5(10.0.5.254);
vlan 6(10.0.6.254);

目的:

vlan 5通过10.0.0.1上网
vlan 6通过10.0.1.1上网

配置方法:

vlan配置略
添加两条默认路由:
ip route-static 0.0.0.0 0.0.0.0 10.0.0.1

ip route-static 0.0.0.0 0.0.0.0 10.0.1.1

配置路由策略
route-policy policy permit node 1

if-match interface Vlan-interface 5

apply ip next-hop 10.0.0.1

route-policy policy permit node 2

if-match interface Vlan-interface 6

apply ip next-hop 10.0.1.1

以上配置是我根据文档总结的,并亲自验证。

华为S3552/3528 限速实例

CBS=EBS=2000/8*1.2*1024=307200Byte。

处理过程:
配置output方向端口限速整形(对出端口的报文—–2M 带宽)
推荐配置对端口上所有的流量都进行流量整形,而不要配置针对某个输出队列的流量整形,
而且粒度最小650k,所以650Kbps ×4=2600
[Quidway-Ethernet0/1]traffic-shape 10400(给用户最大速率) 140(允许速率达到最大后的突发值:140指突发1.2Mbit) 256(默认值)
配置input方向端口流量限速(对入端口的报文—–2M 带宽):
先配置一个link-group的any-any 的ACL
[Quidway-acl-link-4000]
rule permit ingress any egress any
[Quidway-Ethernet0/1]
traffic-limit inbound link-group 4000 2048 2560 2560 2048 conform remark-policed-service exceed drop
命令格式(CIR=PIR,CBS=EBS=CIR/8*1.2*1024)
traffic-limit inbound ip-group 4000 CIR CBS EBS PIR
traffic-shape 10400(给用户最大速率) 140(允许速率达到最大后的突发值:140指突发1.2Mbit) 256(默认值)
10M
traffic-limit inbound link-group 4000 10240 1572864 1572864 10240
20M
traffic-limit inbound link-group 4000 20480 3145728 3145728 20480
30M
traffic-limit inbound link-group 4000 30720 4718592 4718592 30720
40M
traffic-limit inbound link-group 4000 40960 6291456 6291456 40960
50M
traffic-limit inbound link-group 4000 51200 7864320 7864320 51200
60M
traffic-limit inbound link-group 4000 rule 0 61440 9437184 9437184 61440
70M
traffic-limit inbound link-group 4000 rule 0 71680 9437184 9437184 71680
80M
traffic-limit inbound link-group 4000 rule 0 81920 9437184 9437184 81920
90M
traffic-limit inbound link-group 4000 rule 0 92160 9437184 9437184 92160
undo traffic-limit inbound link-group 4000
undo traffic-shape
traffic-limit inbound ip-group 4000 rule 0 51200(平均流量kbps) 62914560(峰值流量byte) 0(超出流量byte)
traffic-shape 52000(平均流量kbps 650的备数) 16000(峰值流量kbyte 4k的倍数) 256
traffic-shape

华为AR28系列路由器telnet配置

sysname Quidway
#
radius scheme system
#
domain system
#
local-user huawei /创建本地帐号“huawei”/
password simple huawei /设置密码为“huawei”SIMPLE为明文密码/
service-type telnet /设置服务类型为telnet/
level 3 /设置用户优先级为3,也可以设置2和1,数字小权限也就小/
#
#
interface NULL0
#
user-interface con 0
user-interface vty 0 4
authentication-mode scheme /设置scheme认证/

三大计算机认证考试需理智选择 不同侧重

全国计算机等级考试

全国计算机等级考试(NCRE)是经原国家教育委员会(现教育部)批准,由教育部考试中心主办,面向社会,用于考查应试人员计算机应用知识与能力的全国性计算机水平考试体系。

NCRE考试共设置四个等级:

一级:考核微型计算机基础知识和使用办公软件及因特网(Internet)的基本技能。考试科目:一级MSOffice、一级WPS Office、一级B(部分省市开考)。

二级:考核计算机基础知识和使用一种高级计算机语言编写程序以及上机调试的基本技能。考试科目:语言程序设计(包括C、C++、Java、Visual Basic)、数据库程序设计(包括Visual FoxPro、Access)。

三级:分为“PC技术”、“信息管理技术”、“数据库技术”和“网络技术”四个类别。“PC技术”考核PC机硬件组成和Windows操作系统的基础知识以及PC机使用、管理、维护和应用开发的基本技能;“信息管理技术”考核计算机信息管理应用基础知识及管理信息系统项目和办公自动化系统项目开发、维护的基本技能;“数据库技术”考核数据库系统基础知识及数据库应用系统项目开发和维护的基本功能;“网络技术”考核计算机网络基础知识及计算机网络应用系统开发和管理的基本技能。

四级:考核计算机专业基本知识及计算机应用项目分析设计、组织实施的基本技能。

NCRE考试每年开考两次,上半年开考一、二、三级,下半年开考一、二、三、四级。

全国计算机等级考试合格证书全国通用,证书上印有持有人身份证号码。自1994年开考以来,NCRE考生人数逐年递增,保守估计,累计考生已超过1500万人,获证人数超过500万人。

计算机应用技术考试

全国计算机应用技术证书考试(NIT)是教育部考试中心主办,各省级考试机构和系统承办的。它借鉴了英国剑桥大学考试委员会举办的剑桥信息技术(CIT)考试的成功经验。NIT针对用人单位录用干部、评定职称、晋升职务和上岗培训的需求,采用了系统化的设计、模块化的结构、个性化的教学、规范化的考试和国际化的标准,适合各种行业人员岗位培训的需要,给用人单位提供了一个科学、客观、统一、公正的标准。

NIT具有以下特点:

(1)系统化的设计。以建构主义学习理论的精华为指导思想,以任务驱动的原则为教学模式,采用指导评估的方式进行能力考核,侧重培养学员的实际应用技能,着重考查学员的独立操作解决问题能力。

(2)模块化的结构。根据计算机技术发展的特点和学习者在应用领域中的实际需要,在培训课程设置上紧跟计算机技术的发展,在教学过程中充分体现学员的需求,强调应用,强调技能,为用人单位提供了一个客观、统一、规范的标准,适合各种行业人员计算机培训的需要。

(3)个性化的教学。各模块课程设置灵活并与工作岗位紧密结合,不仅注重培养学员的独立操作能力,而且强调培养学员的创造精神和实践能力,便于学员根据从事的工作性质选学有关模块,同时用人单位也可根据工作性质选择所需人才的知识组合。

(4)规范化的考试。考试分为过程式考核、作业设计及上机考试三个阶段,只记成功,不记失败。学员在培训过程中根据培训考试大纲的要求完成过程式考核及作业设计,上机考试针对学员的独立操作能力和独立解决问题能力进行综合测试,由教育部考试中心统一命题。

(5)权威性的证书。合格证书由教育部考试中心签发,是持有人计算机应用能力的证明。

计算机技术与软件考试

计算机技术与软件专业技术资格考试由人事部和信息产业部组织。考生人数已达百万。最初专为软件专业人员设计,1988年开始试点,1990年起在全国普遍开考。2003年前,该考试分资格考试和水平考试两类,资格考试报考者必须是软件技术人员,对学历、工作年限有要求。水平考试没有报考限制,面向社会开考。

2004年1月1日起,该考试进行了改革,取消报考限制,面向社会各界从事计算机应用技术、软件、网络、信息系统和信息服务的专业技术人员。考试每年举行两次。

软件资格考试已纳入全国专业技术人员职业资格证书制度统一规划。人事部规定,该系列不再组织职称评审:考试取得初级资格可聘任技术员或助理工程师职务;取得中级资格可聘任工程师职务;取得高级资格,可聘任高级工程师职务。

计算机专业技术资格(水平)考试划分为计算机软件、网络、应用技术、信息系统和信息服务5个专业类别,各专业类别中分设高、中、初级。2005年考试在原有专业基础上,中级新增软件评测师、多媒体应用设计师、信息系统监理师3专业,高级新增信息系统项目管理师。开考模块有初级的程序员、网络管理员、电子商务技术员、信息处理技术员;中级设软件设计师、网络工程师、电子商务设计师、信息系统监理师;高级设信息系统项目管理师、系统分析师。考试已设初级为程序员、网络管理员;中级为软件评测师、软件设计师、网络工程师、多媒体应用设计师、信息系统监理师、数据库系统工程师;高级为信息系统项目管理师、系统分析师等。

gcc参数详解

[介绍]
gcc and g++分别是gnu的c & c++编译器 gcc/g++在执行编译工作的时候,总共需要4步
1.预处理,生成.i的文件[预处理器cpp]
2.将预处理后的文件不转换成汇编语言,生成文件.s[编译器egcs]
3.有汇编变为目标代码(机器代码)生成.o的文件[汇编器as]
4.连接目标代码,生成可执行程序[链接器ld]
[参数详解]
-x language filename
  设定文件所使用的语言,使后缀名无效,对以后的多个有效.也就是根据约定C语言的后缀名称是.c的,而C++的后缀名是.C或者.cpp,如果你很个性,决定你的C代码文件的后缀名是.pig 哈哈,那你就要用这个参数,这个参数对他后面的文件名都起作用,除非到了下一个参数的使用。
  可以使用的参数吗有下面的这些
  `c'', `objective-c'', `c-header'', `c++'', `cpp-output'', `assembler'', and `assembler-with-cpp''.
  看到英文,应该可以理解的。
  例子用法:
  gcc -x c hello.pig
  
-x none filename
  关掉上一个选项,也就是让gcc根据文件名后缀,自动识别文件类型
  例子用法:
  gcc -x c hello.pig -x none hello2.c
  
-c
  只激活预处理,编译,和汇编,也就是他只把程序做成obj文件
  例子用法:
  gcc -c hello.c
  他将生成.o的obj文件

-S
  只激活预处理和编译,就是指把文件编译成为汇编代码。
  例子用法
  gcc -S hello.c
  他将生成.s的汇编代码,你可以用文本编辑器察看

-E
  只激活预处理,这个不生成文件,你需要把它重定向到一个输出文件里面.
  例子用法:
  gcc -E hello.c > pianoapan.txt
  gcc -E hello.c | more
  慢慢看吧,一个hello word 也要与处理成800行的代码

-o
  制定目标名称,缺省的时候,gcc 编译出来的文件是a.out,很难听,如果你和我有同感,改掉它,哈哈
  例子用法
  gcc -o hello.exe hello.c (哦,windows用习惯了)
  gcc -o hello.asm -S hello.c

-pipe
  使用管道代替编译中临时文件,在使用非gnu汇编工具的时候,可能有些问题
  gcc -pipe -o hello.exe hello.c

-ansi
  关闭gnu c中与ansi c不兼容的特性,激活ansi c的专有特性(包括禁止一些asm inline typeof关键字,以及UNIX,vax等预处理宏,

-fno-asm
  此选项实现ansi选项的功能的一部分,它禁止将asm,inline和typeof用作关键字。     
-fno-strict-prototype
  只对g++起作用,使用这个选项,g++将对不带参数的函数,都认为是没有显式的对参数的个数和类型说明,而不是没有参数.
  而gcc无论是否使用这个参数,都将对没有带参数的函数,认为城没有显式说明的类型
  
-fthis-is-varialble
  就是向传统c++看齐,可以使用this当一般变量使用.
  
-fcond-mismatch
  允许条件表达式的第二和第三参数类型不匹配,表达式的值将为void类型
  
-funsigned-char
-fno-signed-char
-fsigned-char
-fno-unsigned-char
  这四个参数是对char类型进行设置,决定将char类型设置成unsigned char(前两个参数)或者 signed char(后两个参数)
  
-include file
  包含某个代码,简单来说,就是便以某个文件,需要另一个文件的时候,就可以用它设定,功能就相当于在代码中使用#include
  例子用法:
  gcc hello.c -include /root/pianopan.h
  
-imacros file
  将file文件的宏,扩展到gcc/g++的输入文件,宏定义本身并不出现在输入文件中
  
-Dmacro
  相当于C语言中的#define macro
  
-Dmacro=defn
  相当于C语言中的#define macro=defn
  
-Umacro
  相当于C语言中的#undef macro

-undef
  取消对任何非标准宏的定义
  
-Idir
  在你是用#include"file"的时候,gcc/g++会先在当前目录查找你所制定的头文件,如果没有找到,他回到缺省的头文件目录找,如果使用-I制定了目录,他
  回先在你所制定的目录查找,然后再按常规的顺序去找.
  对于#include,gcc/g++会到-I制定的目录查找,查找不到,然后将到系统的缺省的头文件目录查找
  
-I-
  就是取消前一个参数的功能,所以一般在-Idir之后使用
  
-idirafter dir
  在-I的目录里面查找失败,讲到这个目录里面查找.
  
-iprefix prefix
-iwithprefix dir
  一般一起使用,当-I的目录查找失败,会到prefix+dir下查找
  
-nostdinc
  使编译器不再系统缺省的头文件目录里面找头文件,一般和-I联合使用,明确限定头文件的位置
  
-nostdin C++
  规定不在g++指定的标准路经中搜索,但仍在其他路径中搜索,.此选项在创libg++库使用
  
-C
  在预处理的时候,不删除注释信息,一般和-E使用,有时候分析程序,用这个很方便的
  
-M
  生成文件关联的信息。包含目标文件所依赖的所有源代码你可以用gcc -M hello.c来测试一下,很简单。
  
-MM
  和上面的那个一样,但是它将忽略由#include造成的依赖关系。
  
-MD
  和-M相同,但是输出将导入到.d的文件里面
  
-MMD
  和-MM相同,但是输出将导入到.d的文件里面
  
-Wa,option
  此选项传递option给汇编程序;如果option中间有逗号,就将option分成多个选项,然后传递给会汇编程序
  
-Wl.option
  此选项传递option给连接程序;如果option中间有逗号,就将option分成多个选项,然后传递给会连接程序.
  

-llibrary
  制定编译的时候使用的库
  例子用法
  gcc -lcurses hello.c
  使用ncurses库编译程序
  
-Ldir
  制定编译的时候,搜索库的路径。比如你自己的库,可以用它制定目录,不然
  编译器将只在标准库的目录找。这个dir就是目录的名称。
  
-O0
-O1
-O2
-O3
  编译器的优化选项的4个级别,-O0表示没有优化,-O1为缺省值,-O3优化级别最高     
-g
  只是编译器,在编译的时候,产生调试信息。
  
-gstabs
  此选项以stabs格式声称调试信息,但是不包括gdb调试信息.
  
-gstabs+
  此选项以stabs格式声称调试信息,并且包含仅供gdb使用的额外调试信息.
  
-ggdb
  此选项将尽可能的生成gdb的可以使用的调试信息.

-static
  此选项将禁止使用动态库,所以,编译出来的东西,一般都很大,也不需要什么
动态连接库,就可以运行.

-share
  此选项将尽量使用动态库,所以生成文件比较小,但是需要系统由动态库.

-traditional
  试图让编译器支持传统的C语言特性

[参考资料]
-Linux/UNIX高级编程
  中科红旗软件技术有限公司编著.清华大学出版社出版
-Gcc man page
  
[ChangeLog]
-2002-08-10
  ver 0.1 发布最初的文档
-2002-08-11
  ver 0.11 修改文档格式
-2002-08-12
  ver 0.12 加入了对静态库,动态库的参数
-2002-08-16
  ver 0.16 增加了gcc编译的4个阶段的命令

运行 gcc/egcs

**********运行 gcc/egcs***********************
  GCC 是 GNU 的 C 和 C++ 编译器。实际上, GCC 能够编译三种语言:C、C++ 和 Object C(C 语言的一种面向对象扩展)。利用 gcc 命令可同时编译并连接 C 和 C++ 源程序。
  如果你有两个或少数几个 C 源文件,也可以方便地利用 GCC 编译、连接并生成可执行文件。例如,假设你有两个源文件 main.c 和 factorial.c 两个源文件,现在要编译生成一个计算阶乘的程序。
代码:

———————–
清单 factorial.c
———————–
int factorial (int n)
{
  if (n <= 1)    return 1;   else    return factorial (n - 1) * n; } ----------------------- 清单 main.c ----------------------- #include 
#include 

int factorial (int n);
int main (int argc, char **argv)
{
  int n;

  if (argc < 2)   {     printf ("Usage: %s nn", argv [0]);     return -1;   }   else   {    n = atoi (argv[1]);    printf ("Factorial of %d is %d.n", n, factorial (n));    }   return 0; } ----------------------- 利用如下的命令可编译生成可执行文件,并执行程序: $ gcc -o factorial main.c factorial.c $ ./factorial 5 Factorial of 5 is 120.   GCC 可同时用来编译 C 程序和 C++ 程序。一般来说,C 编译器通过源文件的后缀名来判断是 C 程序还是 C++ 程序。在 Linux 中,C 源文件的后缀名为 .c,而 C++ 源文件的后缀名为 .C 或 . cpp。但是,gcc 命令只能编译 C++ 源文件,而不能自动和 C+ + 程序使用的库连接。因此,通常使用 g++ 命令来完成 C++ 程序的编译和连接,该程序会自动调用 gcc 实现编译。假设我们有一个如下的 C ++ 源文件(hello.C): #include
void main (void)
{
  cout << "Hello, world!" << endl; } 则可以如下调用 g++ 命令编译、连接并生成可执行文件: $ g++ -o hello hello.C $ ./hello Hello, world! **********************gcc/egcs 的主要选项********* gcc 命令的常用选项 选项 解释 -ansi 只支持 ANSI 标准的 C 语法。这一选项将禁止 GNU C 的某些特色, 例如 asm 或 typeof 关键词。 -c 只编译并生成目标文件。 -DMACRO 以字符串“1”定义 MACRO 宏。 -DMACRO=DEFN 以字符串“DEFN”定义 MACRO 宏。 -E 只运行 C 预编译器。 -g 生成调试信息。GNU 调试器可利用该信息。 -IDIRECTORY 指定额外的头文件搜索路径DIRECTORY。 -LDIRECTORY 指定额外的函数库搜索路径DIRECTORY。 -lLIBRARY 连接时搜索指定的函数库LIBRARY。 -m486 针对 486 进行代码优化。 -o FILE 生成指定的输出文件。用在生成可执行文件时。 -O0 不进行优化处理。 -O 或 -O1 优化生成代码。 -O2 进一步优化。 -O3 比 -O2 更进一步优化,包括 inline 函数。 -shared 生成共享目标文件。通常用在建立共享库时。 -static 禁止使用共享连接。 -UMACRO 取消对 MACRO 宏的定义。 -w 不生成任何警告信息。 -Wall 生成所有警告信息。