2008年10月13日
#
第一部分 经济发展的实质
第二部分 货币的本质和中国通货膨胀的前景
第三部分 2008-2010年世界经济发展的基本判断
第四部分 未来3-5年中国经济的走势
第五部分 我们的对策
本人潜伏论坛多年,不敢放浪形骸,亦不吝言辞,敏于思而慎于言,紧于收集数据而疏于立论。今次放口一言,仅供众位参考。
说明:因本人是CFA charterholder, 为了遵守CFA协会关于伦理和职业操守的需要,避免利益冲突,公布本人持有的有关投资资产。本人拥有部分1000股招金矿业股票,1500股华资实业股票,10手执行价为675到期日为2008年2月11日的黄金期权,在北京住房一套,还有房贷余额约35万。
第一部分 经济发展的实质
在大学学过西方经济学的朋友都知道,经济发展的实质是要素的投入和生产效率的提高。经典经济学认为:要素关键是资本、劳动力和企业家精神,生产效率的提高主要依赖科学技术、管理制度和企业家精神。宏观经济学认为GDP=消费+投资+政府支出+净出口(出口-进口)。我们从这些基本原理出发来看中国改革开放以来经济发展的主要推动力。
一、各类要素持续流入经济体。排在第一位的当然是外资的大量流入,带来了巨额资本持续流入和技术以及先进的生产管理经验(改革开放的实质是先开放后改革,改革进行不下去的时候再推动进一步开放);建国以来的低消费高积累沉淀的大量国有资产和集体资产,改革开放以后逐步在市场经济的带动下显现价值;长期的高储蓄产生了大量的社会剩余资本,这些资本通过银行贷款以储蓄总额70%左右总比例进入投资领域;农业生产效率的提高和农业的部分集中化带来了大量农村劳动力的解放(8亿农民中除了老弱病残孕之外的劳动力在理论上都可以离开土地到城市和工厂打工;每年春运铁道部公布的流动人口数据大约是1.5亿,我想这个数据大约就是从农村到城市打工者总数的大部分,还有一部分在小范围内流动,可以通过汽车实现人员流动,这个数据应该也不会太小,只不过统计比较困难);每年通过高考和上大学有大量的年轻劳动力进入各类城市;民营经济从无到有,成为经济发展中的一大亮点,不管是坑蒙拐骗做假货还是自我积累搞集资,民营经济的茁壮发展有目共睹;土地价值逐步显现,各级地方政府通过土地财政收刮了大量经济资源,另外政府还通过税收和行政收费等手段攫取的大量政府收入,投入到形象工程、政府控制的公共事业、公款消费等政府支出项目(形象工程也是经济发展的一种表现,只不过是投入产出比是负数的投资而已);改革开放以来,经济从短缺经济逐步进入过剩经济,人民大众随着收入的提高消费能力逐步提高,从满足衣食住行等低级需求逐步到文化娱乐休闲保健等高级需求,恩格尔系数逐步从70-80%降低到30-40%。
二、生产效率的提高。经济发展的另外一个重要的动力是生产效率的提高。我想这几年国内生产效率的提高是不言而喻的,西方国家几百年的技术革命,我们现在要用几十年内走完,生产效率是日新月异的。因为生产效率的提高速度大大高于劳动工资的提高速度,这是国内投资回报率高的主要原因之一。今天的资本家不象两三百年前的资本家,赤裸裸地利用延长劳动时间和加大劳动强度来提高剥削的效率,但资本家终归不是慈善家,剥削工人和剩余劳动力是疯狂的,也是很隐蔽的,目前通过提高单位劳动时间的劳动效率和降低劳动工资来加强剥削是最常见的手段。当然,山西黑砖窑现象的出现也说明现代中国野蛮的剥削也是很有市场的。劳动效率提高的另外一个表现是劳动者素质的提高,这几年随着劳动人口素质提高和经验的积累,熟练劳动力的实际技术能力的提高也是相当可观的。
制度改革也促进了生产效率的提高。改革开放以来,中国为了搞活国有企业大约走过了这么几个历程,从国营企业(其实从国营企业到国有企业的称谓的变化也体现了改革的进程)到承包,到股份制改革,到国有企业破产国有经济收缩,再到最近几年的国有企业在自然垄断行业、公用事业行业和关键行业(例如金融)扩张。国有经济从全面开花到强调重点发展,为民营经济和外资经济的发展的提供了舞台,民营经济和外资经济的高效率组织方式大大提高了生产效率。国有经济的股份制改革也在一定程度上提高了国有经济的竞争力,这也提高了经济发展的效率。另外由于国家对资金、土地、人才、外汇的管制逐步放松,大大提高了要素的流动和配置效率,这些当然也提高了生产效率。
三、居民消费能力的提高和出口扩大,带动了投资增长,GDP增长的三架马车全面启动。在改革开放以前,我们是短缺经济,只要你能生产出有用的东西,就有人来买。所以从1978年-1994年我们一直在经历短缺经济,有钱没处花,你买不到东西。当时有一句话,改革开放初期,到处是黄金,只要你愿意弯下腰,就能富起来。这是短缺经济的典型现象。但是到1996年以后,经济形势发生了大的变化,当时有一种时髦的说法:中国经济从卖方经济到了买方经济,实际上经济慢慢发展到了过剩经济。1997-2001年经济发展困难是比较明显的,特别是国有企业大面积亏损,通货紧缩,居民消费不振,因为全球经济的疲弱和亚洲金融危机导致出口压力较大,这一切对当时的中国总理的压力非常大。
为了刺激经济发展,走出困境当时的总理朱老板开出了这几份方子:1、老百姓不是有大约8万亿的存款不是不愿意花吗,我就搞义务教育不义务非义务教育大范围收费和扩招,住房改革搞货币化分房,医疗改革废除公费医疗,废除原来的养老退休机制搞政府亏空养老。这几招招招见血,打在了所有老百姓得要害上,逼着老百姓消费,为过剩经济提供购买力和经济发展的新增长点。2、针对富裕个人,大力推进汽车产业发展,加快消费升级换代。3、为了维护大国形象,人民币虽然没有贬值,但是提出了出口退税政策已实现实际汇率的贬值,大力推动出口创汇。果然几年下来,这些政策大有斩获,可怜的中国老百姓背上了新三座大山,住房、医疗、教育,把辛苦几十年的积蓄乖乖贡献给了不良开发商、各级政府、贪官污吏、外资老板、炒房团、医生、医药代表、校长和老师等等,而且我们的年轻人为了住房背上了一辈子的债务,还面临一个深渊,那就是养老金问题(后文将会有详细叙述)。居民房地产和汽车消费,教育和医疗消费,提升了GDP三架马车中的消费;房地产业和汽车产业的大发展带动了相关产业的发展,加上出口产业的膨胀有力提升了投资发展,GDP的第二架马车也开始狂奔了;至于第三架马车,出口的发展那就不在话下了,出口退税政策加上我们的低廉劳动力果然大大刺激了出口发展,外汇储备连创新高,中国一举成为国际贸易大国,今年很有可能超过德国称为第一大贸易顺差国和超过美国成为第二大出口国;中国现在已经是世界工厂,第一大外汇储备国。
第二部分 货币的本质和中国通货膨胀的前景
我在这里之所以要单独阐述货币的本质是因为,中国目前出现了严重的通货膨胀和通货膨胀预期,而对通货膨胀的认识直接关系到对下一阶段的经济发展走势的判断。
货币的本质是交换的等价物,这一条我想不会有人反对。有人会说货币是财富的象征,但为什么货币能够成为财富,那是因为我们都认为货币能够换到物资,如果一个财主积累了大量老版的第一套或第二套人民币现钞,我们会认为他拥有财富吗?不会,因为他手里的人民币是不能流通的,不能通过交换得到物资。
其实,我们现在用的货币还有更重要的一个本质,那就是信用,对发行人的信用。因为现在世界上已经不存在一种货币是和金银或者石油等现实财富挂钩的,我们现在用的都是法定货币,简称法币。法币不和任何实物资产挂钩,实际上就是空头支票。法币是由中央银行发行的,中国的货币人民币是由中国人民银行发行的。问题是人民银行是基于什么发行人民币的呢?答案是理论上人民银行想发多少都可以,因为没有实物资产限制人民银行发行货币的规模。在中国,人民银行是国务院的机关,我们认为是由党中央国务院负责货币发行的规模。
老百姓愿意接受人民币,使用人民币,愿意拿自己的粮食等物资换成花花绿绿的钞票是因为我们相信我们能够用这些花花绿绿的钞票换取其他等价的我们需要的物资。这里我要加上等价,是因为这直接关系到货币内在价值。如果人民币以一种可以预测的速度贬值(通货膨胀),我想老百姓在接受人民币的时候会打折扣的。因为我们相信政府不会用滥发货币损害老百姓的利益,所以我们接受了人民币。但是这种信用在历史上是出过问题的,最典型的是1989年通货膨胀和1994年通货膨胀。1989年的时候我还很小,当时我们家正在造房子。我对通货膨胀的印象是,有一个建材经销商对我爸爸说,现在建材一天一个价,让我爸爸赶紧买。你想想,一天一个价,通胀是个什么概念。1994年的通胀,很多人都有感觉,因为老百姓好像和钱有仇似的,到商场不管东西好坏,直接就抢购,就是要把钱以最快的速度花出去,在这个现象之下是全国性的通货膨胀。当时官方公布的CPI数据是增长12%,而有学者计算应该是25%左右。我相信应该比12%高,因为当时人民银行把存款利息提高到了12%左右。
那么为什么会出现1989年和1994年这两次大范围的通货膨胀呢?原因比较多,我分析来看,1989年那次通货膨胀的主要原因之一是“价格闯关”, 短缺经济的实质是老百姓积累了大量的货币却没有东西可以买,所以当物价放开的时候,历史累积的货币购买力扑向市场很容易形成通货膨胀。1994年的通货膨胀原因就比较简单了,那就是中央银行发行了太多的货币。1989年动乱之后,世界上对中国经济的封锁和改革的停滞,经济发展出现了停滞,为了刺激经济发展,1992年邓小平发表了著名的南巡讲话,打开了思路,搞活了经济,出现了全民经商热潮。中央国务院各机构、各级政府、各类企业纷纷大搞三产,出现了第一次工资翻番等。这些机构办公司的钱要么从财政拿钱,要么从银行拿钱。这就导致了中央银行货币发行过多,信贷扩张过快。出现了全国性的经济过热和海南、北海等地房地产热。到1994年通货膨胀到了顶点。之后通过大幅度加息和鼓励存款,终于在1996/97年实现了所谓的经济软着落。但这次经济泡沫式增长主要后果之一是国有银行出现了巨额坏账,出现了所谓四大银行技术性破产一说。那么,当时,银行的坏账率到底有多高呢?我们以中国银行为例,因为中国银行是国有大银行里第一家公布不良率的银行,也是年报披露较为充分的一家。根据中国银行历年年报的数据,1998年以前发放的贷款不良率高达50%以上。而我们知道在2004年以前,中国银行一直是四大国有银行里效益最好的一家银行,可以想象当时国有银行不良率有多高。(关于国有银行的不良率下文会有更详细的叙述。)另外,为了保护社会稳定,人民银行借出再贷款,拯救了一批中小金融机构,所以那次危机给中央银行直接留下了大约1500亿左右的坏账。
从这些事实来看,我们发现通胀的实质其实是货币问题,而不是什么需求太旺什么的。货币发出来之后,会有两种结果,一是不进入流通领域,被人们当作财富储存起来(例如财主压在床底下,封在墙壁里阿什么的);只要不进入流通领域,其实对实体经济是不会有太大的影响的。中央银行最喜欢这种土财主了,因为这些货币不进入流通领域,央行就可以再多发一些货币而不引起通胀。1989年那次通胀主要就是因为老百姓压在家里的货币集中冲向流通领域导致的通胀。另外一种是进入流通领域,这就是直接增加了流通领域的货币存量,超过经济实际需要发行货币很快会形成通胀。1994年的通胀就是因为银行的信贷扩张过快出现了流通中的货币增长量远远高于实际经济需求,出现了恶性通胀。
我认为未来2-3年中国会出现严重的通胀,原因很简单,就是中央银行发行了太多的货币。具体分析如下。
1、不断增加的外汇储备被动投放了大量基础货币。大家都知道,我们是一个外汇管制国家,按规定企业在外管局核定的外汇保留额度之上的外汇必须卖给国家,企业需要用汇必须向国家购买(外汇限额这个政策最近刚刚被废除,企业可以想保留多少就保留多少);对个人的外汇管理相对较松,个人可以保留外汇存款,但在2006年以前,个人使用外汇必须向银行提供外汇使用证明材料。我们知道中国现在已经是全球第一大外汇储备国,截止到2007年6月30日,外汇储备已经高达13326亿美元(国家外汇管理局公布的数据)。我简单分析了一下近几年外汇储备的增加量,有如下发现:1996年-2000年的增长比较平稳,从1996年的1050亿美元增加到2000年的1650亿美元,年均增长9.46%。从2000年1650亿美元到2007年6月30日13326亿美元,年均增加37.90%。那么这几年共有13326-1650=11676亿美元进入储备,按照平均8.0的汇率相当于直接投放了93408亿人民币,目前这个数字还在按照每个月300-400亿美元左右的规模增加。按照人民银行网站公布的数据,2000年底货币发行15938亿人民币,储备货币36941亿人民币,到2007年6月30日,货币发行为29240亿人民币,储备货币82663亿人民币。货币发行年均增长9.79%,储备货币年均增长13.19%。虽然名义货币发行量与经济增长(GDP增长)是相适应的,但是由于外汇储备的过快增长,其实实际货币发行增长量可能高达20%左右。当然人民银行一直在用发行央票的办法回笼货币,到2007年6月30日央行发行债券37581亿元,但比起总量近10万亿外汇占款投放的货币来说还是太少了。(这里的“储备货币”理论上与基础货币是同一概念,包括中国人民银行所发行的货币、各金融机构在人民银行的准备金存款,邮政储蓄存款和机关团体存款。)
2、为了改革金融系统,央行实际投放了大量了基础货币。2003年12月30日,中央汇金公司正式向中国银行和建设银行各注资225亿美元,拉开了新一轮银行改革。这两家银行拿了450亿美元以后转手向国家结汇,等于人民银行又把450亿美元拿回来了,这就是相当于直接投放了450*8=3600亿人民币的基础货币。这对两家银行来说还没有完,为了处理这两家银行的不良资产(次级和损失类贷款),四大资产管理公司从两家银行购买了本金大约1289亿(建设银行)+1500亿(中国银行)=2789亿不良资产,央行按照贷款本金50%发行专项票据约1400亿协助银行处理不良资产;这实际上也是货币投放,尽管这些票据会在2007年-2008年到期。其实这还没有完,央行发行票据210亿元偿付建设银行因托管一家信托投资公司产生的代垫款项,央行发行181亿票据置换中国银行的一些特殊资产。这样央行为了帮助这两家银行共支付了5391亿,相当于间接投放了这么多货币,而中国银行和建设银行是公认的资产质量比较好,盈利能力较强的两家国有银行。
我们再来看工商银行的改革。首先是注资150亿美元,剥离了2460亿元损失类资产,划转总额4590亿元可疑类贷款。按照刚才的计算公式,注资相当于投放150*8=1200亿,处理不良贷款共发行专项票据4348亿元,票据到期日在2010年(数据来自工商银行2006年年报)。这样央行为工商银行买单5548亿。这个数字超过了中国银行和建设银行两家的成本。我们再来看农业银行,农业银行是四大银行里面资产质量最差,历史包裹最重的一家,因为其改革还没有完成,很多数据没有公布,我们只能估算。据报道,农业银行向国务院提交的股改报告中要求注资1000亿美元,我们就按此数据计算,1000*8=8000亿人民币,我相信这个数据只少不多。这样为了四大银行改革央行实际发行了5391+5548+8000=18939亿人民币。这还没有完呢,为了推动城市商业银行和农村信用社改革,央行开出了大约1000亿的专项票据,还有在证券行业最困难的时期买单了大量券商因挪用客户保证金而出现的窟窿,我估计大约有500亿左右。综上所述,为了国家的金融改革,央行实际上大概发行了约2万亿的基础货币。
当然有朋友会说央行买单时主要采用了不可转让的专项票据,银行只能持有到期,不会真的象基础货币那样直接进入流通领域,另外注资的美元也是逐步结汇成人民币的,而且结汇之后也是要求银行用货币掉期的形式让银行继续持有美元。但是我们要知道,专项票据是会逐步到期的,货币掉期也不可能永远做下去;更重要的是,给银行注资,直接增加了银行的资本。银行资本增加就可以多放贷款,加上货币的乘数效应,实际上就是相当于发行基础货币。
三、贷款的迅速增加。虽然贷款不是直接基础货币投放,但是我们知道货币有一个乘数效应,贷款的增加量相当于乘数的效应有多大。我们来看几个简单的数据。从1999年12月31日到2007年6月30日,所有金融机构的本外币各项贷款从93734亿增长到264899亿,年均增长约17.33%。而同期国内生产总值(GDP)从2000年底98000亿元,增加到2007年6月30日的106768。我们假定下半年的经济增长速度与上半年相同,这样到2007年底GDP总额应为213536亿元,年均增长约11.77%。也就是说我们的资本投入速度远远高于经济产出效率,相差5.56%。这样的经济增长方式注定会出现货币投放太多的问题。
四、2005年以来的股市火爆引发了上市公司融资热潮,债券市场规模也许迅速扩大。2005年全年股票市场筹资总额1882.51亿元,到2006年增加到了5594.29亿元,到2007年6月30日半年筹资总额为2526.30亿元,全年预计至少可达5052亿元。股市为经济体注入了大量的资本。公司债券市场从小到大,产品从少到多,短期融资券,公司债券等品种逐步增加,融资量也大幅上升。短期融资券从无到有,发行量迅速上升,2005年发行总量1392亿元,2006年发行总量2919亿,2007年上半年发行总量1547.8亿元。企业债券市场发行量也在迅速增加。
从以上数据来看,我们未来的货币供应量上升速度很明显,通货膨胀压力越来越明显,其实从目前的实际情况来看,严重的通胀膨胀已经露出了苗头,通胀预期已经逐步形成。今年以来,以食品为代表的价格正在疯狂上涨。上半年的CPI涨幅为3.2%,粮价上涨6.4%,蛋上涨27.9%,肉禽及其制品上涨20.7%;除此之外,上半年的房价也仍在加速疯涨。
前段时间有关官员说,目前的通胀主要集中在食品领域,通胀还处于可控范围,不会蔓延到其他领域。但是市场的现实说明通胀已经蔓延到了服务行业。近来,国内多处著名景点吹起的加价风则表明,服务业的价格上涨已经开始了!峨眉山、武夷山、五台山等景区的门票或车费,近日相继涨价,涨幅普遍由二成多至五成不等,其中河南洛阳的龙门石窟最离谱,拟把旺季门票加至160元人民币,加幅高达一倍。而涨价并非季节性,而是长期定价。据黄山风景区人员透露,200元的门票未变,但游客必用的登山小车,因油价上涨,车费由10元加至13元,加幅达三成。各景区的加价事小,但这却是服务业价格上涨的一种表现。
8月16日,中国青年报社会调查中心与腾讯网新闻中心联合开展一项调查。这项不到24小时即有14267人参与的调查显示,今年入夏以来,94.9%的人在生活上的支出增加了。其中,增加幅度在100元以下的为12.1%,100-200元的为24.3%,200-400元的为33.8%,400-600元的为14.0%,600元以上的为10.7%。受涨价影响,支出增加了,生活质量却下降了。调查显示,79.3%的人认为入夏以来自己的饮食质量下降了,47.0%的人认为“下降了一点”,32.3%的人认为“下降很多”。调查显示,对于这一轮涨价,86.3%的人认为,受影响最大的是低收入者或中低收入者。并且,公众对涨价的预期仍在继续。在本次调查中,75.1%的人预计,到今年年底,物价“仍会涨”,21.8%的人认为会“跟现在差不多”,认为“会跌回到原来水平”的仅占3.1%。各方信息综合来看,低收入阶层的生活质量下降程度最大,目前不得不节衣缩食,面对飞涨的食品价格只得死扛。
低收入阶层日子难过,中产阶层如何?日前,中华英才网以“你的工资涨了吗”为主题对当前职场进行调查,涉及京津沪、珠江三角洲、东南沿海地区、东北地区、西部和中部地区总计1050名职场人士,覆盖IT、金融、事业单位、非盈利机构等工作领域。调查显示从整体上看,工资涨幅在5%以下的人占到总数的65%。对于目前的收入涨幅,有93%的人感到不满意,45%的人选择“常因房价压力争取加薪”,55%的人感觉“房价上涨过快,不寄希望于加薪”。在城市中产阶层的开支结构中,食品权重较少,但居住类支出却很高,飞涨的房价和房租让这些白领阶层现在几乎陷入绝望境地。
半年来储蓄资金不断分流到股市、楼市以及黄金等增值保值,就是通胀预期的表现之一。目前政府期望着秋粮丰收,会让现在高企的食品价格降下来,但通胀预期下,农民在丰收后会采取囤粮惜售的做法以对抗通胀,未来形势将让这些官员大失所望。更糟糕的是,目前实际利率为负,这将催化而非抑制全面通胀预期的形成,因为实际负利率首先剥夺的就是债权人利益,这将逼迫人们不得不抛售钞票,收购实际资产和商品。实际负利率将使官方所有平抑物价的努力落空。
目前,政府希望通过价格控制和价格干预来压制通货膨胀。这种努力注定是要失败。我们知道价格控制是一种早就被证明是无效的价格管理手段。生产厂商在成本价格不断攀升的前提,如果政府压着不让提价,他们肯定会通过降低产品数量和质量的办法呀低成本,实际上还是在提价。
举个例子,8月16日,国家发改委的一纸通报,将世界方便面协会中国分会置于前所未有的尴尬中——发改委正式认定该协会和相关企业“相互串通、操纵市场价格”,并且责令其立即改正错误,向社会公开作出正面说明。我认为这是属于典型的柿子挑软的捏。发改委那帮官老爷们紧紧搂着项目审批大权和物价审批大权,作威作福。方便面市场是一个充分竞争的市场,充分竞争市场的特点是各家生产厂商费尽心机降低成本,如果为了利润盲目提高价格无疑自绝于人民。因为充分竞争市场基本没有准入门槛,只要有超额利润很快会有新的厂商进来,竞争一来,很快得降价。那个挑头涨价的很快会被市场竞争抛下。我们的发改委为了讨好中央,显示自己的权威,糊弄老百姓装出控制物价的鬼脸,拿方便面开刀,简直瞎扯。其实发改委的做法只能迫使企业改变提价的程序,并不能改变提价的事实。目前部分品牌方便面的零售价仍坚持涨价后的价位。康师傅袋装方便面的价格标签被改为“1.90元”。康师傅碗装方便面价格调至“2.7元”。销售人员说,近日,两种产品的价格分别上调了0.2元,而且目前没有接到降价通知。这已经证明了发改委失败。
我预计通胀预期将在明年全面形成,经济生产高峰也随之出现。现在诸多证据表明,这个判断是正确的,全面通胀预期正在悄然孕育,很可能到明年全面爆发。广大朋友十分关心的房价会不会再涨,我想我的回答会很让人失望。房价还会疯涨,直到国家出台严厉的管制措施,例如房产转让收益100%征收所得税,开征物业税等。那么会不会导致不可收拾的局面,要看现在政策部门的决策是否果断,特别是央行的利率政策和汇率政策。
第三部分 2008-2010年世界经济发展的基本判断
我对世界经济未来3-5年的判断是比较悲观的,因为现在全球商品的价格到了一个新的历史高度开始缓慢向下,这是经济已经见顶的最好信号。从图形来看,黄金、白银、铜、铝、原油、大豆等主要商品价格都呈现了到达历史高点下拐的图形特点。这种图形的趋势是我们[判断全球经济的最好指标。
另外,全球房地产价格也已经到了一个新的高点。美国、欧洲、澳大利亚、印度、新西兰、中国等主要经济体房地产价格已经多年连续上涨。有消息说英国伦敦许多家庭为了扩大居住空间不得不挖地下室,因为买不起新的房子。而在中国和印度房地产市场暴涨已经不是什么新闻了,所谓只有更高没有最高。房地产泡沫不断膨胀说明了一个问题,就是全球性的资产价格增长反映了全球经济的景气。但这种景气目前来看应该快要到头了。
首先,各国央行为了控制不断抬头的通货膨胀纷纷加息。美国的联邦基金隔夜拆借利率已经从历史低点2.0%上升到了5.25%。日本央行已把隔夜拆借利率从0提高到了0.5%,欧洲央行把利率提高到了4.25%,英国央行因为国内房地产价格暴涨从2006年8月开始连续五次加息,把英镑基准利率提高到了5.75%,同样也是为了控制房地产泡沫澳大利亚央行从2006年5月开始连续三次加息,目前基准利率已经达到6.25%,加拿大央行把基准利率提高到了4.5%,新西兰官方指导利率为8.25%,中国金融机构一年期存款利率3.33%,一年期贷款利率6.84%。利率上升有力地压制了通胀抬头,也对房地产市场压力不断加大,市场流动性开始抽紧。特别是美联储的利率政策,很好地控制了美国的通胀上扬势头,同时也很快对房地产市场产生了较大的影响。
今年开始,美国的次级房地产问题开始出现。所谓次级贷款是美国信用评分在600分以下的个人申请的房地产贷款。房地产贷款公司贷款发放给个人后,转手卖给各家投行,各家投行通过打包证券化,让评级公司提供一个好的评级卖给各家投资机构,包括世界各国商业银行、保险公司、对冲基金、养老基金等机构。由于发放贷款的公司完全不考虑哪些资信不好个人的还款能力,搞什么利滚本等金融创新,导致次级房地产贷款出现了严重的违约。次级贷款问题开始露出水面,目前已有几家美国房地产贷款公司申请破产保护,最大的一家房地产贷款公司countrywide的评级也被降低。第五大投行BEAR STEARNS旗下的两只对冲基金因为投资次级债出现了严重亏损。近期的次按市场危机导致全球著名投资银行高盛旗下多只对冲基金损失惨重,其中GEO对冲基金本月价值损失幅度达28%,甚至被威胁要求其退市。为了吸引外部投资者,高盛不得不在收费条件方面让步。而在8月13日)高盛已宣布将20亿美元的自有资金投入GEO基金,用以缓解目前出现的困难。
同时,次级贷款引发的风险开始在世界范围内蔓延,欧洲最大银行巴黎银行旗下三支基金因为投资次级债出现严重流动性困难;危机蔓延到加拿大,8月15日,加拿大最大的非银行资产支持商业票据发行机构Coventree表示,由于信贷恐慌,该机构已无法偿还到期的债券,被迫融入资金以应付突发的财务状况。加拿大的主要评级机构DBRS称,Coventree并非加拿大唯一一家可能出现违约的ABCP发行机构。在总规模1160亿加元的加拿大商业票据市场上,有17家ABCP发行机构在寻找资金,这17家机构发行的未兑现ABC P总额达266亿加元,几乎占整个市场规模的1/4。如果这些机构不能及时找到融资,有可能出现违约,这就势必会进一步引发对信贷短缺的担忧,并有可能引发新一轮的金融危机。
为了应对可能发生的金融危机,世界各国央行开闸放水,为金融体系注入流动性。据来自路透社的统计显示,世界各地央行从8月9日到10日的48小时内注资总额,已超过3262亿美元。其中美联储在10日连续三次注资,总额达380亿美元。9日,美联储已向金融市场注入了240亿美元资金。两天注入资金相加达到620亿美元。欧洲央行则在9日创纪录地向欧元区银行系统注资948亿欧元(约合1299亿美元)。10日,欧洲央行再次宣布注资610.5亿欧元(约合836.4亿美元)。
尽管美联储与世界各大央行不断向金融市场注入巨资,以尽量减少由此给世界资本市场带来的不利影响,但目前看来这一措施并没有达到预期的效果。世界各主要股市在上周继续大幅下调,引起投资者恐慌。投资者为了免于受害,纷纷卖出股票,卖掉外币,转投被认为是资金安全港的美国国债。导致美国收益率直线下降,价格迅速上升。10年期美国国债收益率震荡走低,目前大约在4.60%左右。估计随着美联储降息进行可能会进一步降低。其实美联储已经开始在降息了,就在几天前,美联储大幅降低了联邦贴现利率,实际上是一种变相的降息。
但是美国楼市持续疲弱。美国地产经纪商协会8月15日表示,美国1/3大城市第二季度住屋价格下跌。在149个城市地区中,50个城市的独立家庭房屋价格中位数下跌,全国41个州及首都哥伦比亚特区的整体楼价亦报跌。第二季房屋销售以年率计由去年的663万间,下跌至591万间,跌幅达10.8%;第二季房屋价格中位数由去年同期的227100美元,跌至223800美元,跌幅1.5%。而据财经知名人士曹仁超称,即将公布的8月份住宅市场指数,相信可进一步确认美国楼市进入1989至1991年式的衰退。上一次是1989年10月,上述指数跌至48点(低于50点代表市场十分差),1990年1月更跌至20点,到1992年10月才重返54点,前后共3年。1990年第四季美国GDP下降3%,1991年第一季GDP下降2%,连续两季GDP负增长,可以确认为衰退。此轮住宅市场指数最高是2005年6月72点,去年5月首次低于50点,见46点,今年7月是24点,估计8月份可能低于24点,代表美国楼市进入回落期已超过一年。
由于美国家庭的房地产投资和股票投资占家庭资产的比重很高,随着房地产市场泡沫破裂和股票市场不景气,美国消费者信心指数(密执安大学消费者信心指数)开始下降,从2000年初的110左右的高点下降到目前85左右。美国经济唯一的一根救命稻草是失业率一直维持历史低点,通胀指数还在可接受范围内。这也是目前市场期盼美联储降息救市的基础。但是随着次级贷款问题的蔓延到公司债券市场,信用点差不断扩大,公司融资成本上升,公司利润增长开始下降,我估计很快会出现失业率上升问题。同时由于大量资金进入美国,美国的通胀压力可能正在抬头。其中有一个重要因素是中国生产的商品开始涨价。到那个时候美联储就会处于降息和降息的夹缝中,有可能出现所谓的滞胀问题。当然,目前判断出现全球性的经济危机还为时过早。但是随着全球利率上升带来的是资金成本提高,作为经济大国美国借债消费的美好时光已经过去,美国人不得不压缩开支,美国消费者的行为是世界经济的主要动力。这个火车头一开始减速,很快会出现连锁反应。全球性的经济不景气近在眼前了。
我们再来简单看一下欧洲的情况,欧洲经济走出困难其实没有多久,欧洲元区失业率在2004年年中达到了8.7%左右的高峰开始下降到2007年6月30日大概在6.8%左右。GDP从2000年4.5%左右的年增长到目前大概在2.5%左右。核心物价指数从2002年一季度2.6%高点回落到目前1.9%左右的水平(这应该是欧洲央行加息的主要结果)。我们发现欧洲人没有过上象美国人那样的长达十年左右的幸福生活,所以欧元区的经济还是比较脆弱的。如果这次次级贷款危机拖累欧元区的话,很快会出现欧洲经济的不景气。
日本经济2005年确定刚刚走出通货紧缩的阴影,但是目前的经济增长力度并不是特别强劲。多个经济指标出现了互相矛盾的经济前景。所以我们并不能指望日本经济能够像80年代拉动世界经济增长。
综上,我认为世界经济可能在未来2-3年出现如下轨迹:随着次级贷款问题的逐步恶化,各国央行在基于通胀和失业率不高的基础上通过降低利率挽救金融市场和经济发展信心,经济可能会出现短时期的回暖。但是很快出现的通货膨胀压力又不得不使央行加息,收缩货币发行量,全球经济至此进入为期至少2-3年的经济萧条期。
情况估计更糟糕一点,由于格林斯潘时代的美联储低利率政策向全世界释放了大量的美元,看看亚洲各国中央银行的外汇储备数据和OPEC国家的石油美元就知道全世界有多少美元在寻找投资机会了,加上美国从政府到个人的赤字消费和美国在全世界到处耀武扬威的巨额开销,美国人很可能会采用印钞票来从全世界抢钱,以维持其世界霸权地位,当然这种做法是饮鸩止渴的办法。一旦全世界人民手中的美元回流美国,要求美国人兑付手中的美元时,美国人将为他们曾经享受过的全球铸币税付出沉重代价,美元的信用一落千丈,美国的通胀持续上升。当投资者意识到他们的手中的美元存在严重贬值的压力时候,会纷纷抛出美元,寻找资金的安全港——黄金和石油。美元有可能沦落到于欧元和日元相当的地位,各国的外汇储备不再以美元为绝对主导,而是由美元、欧元、日元、人民币等多种货币主导。美国经济的严重衰退导致世界经济进入象1929-1933年那样的世界性的经济危机,出现GDP负增长,失业率高达30%等等情况。
当然,我假定的这种情况不一定出现,因为美国拥有世界上最先进的技术,最完善的制度、最强大的军队、全世界最优秀的人才纷纷移民到美国。但是我个人认为确实存在这样一种可能性。因为很多事实证明美国其实是一个无赖国家,首先美国一直在利用美元是世界货币和石油报价货币从全世界人民手中抢钱。看看这次次级债危机就知道,全世界的投资者(包括中国外管局和中国的大银行)在为美国穷人的房子买单,让美国人的住房拥有率从75%上升到83%左右。我相信终有一天这种滥用世界货币信用的报复会到来,美国会为它的贪婪和傲慢付出和当年大英帝国一样的代价,被新崛起的大国取代霸主的位置。
2008年8月22日
#
class CDib : public CObject
{
public:
CDib();
virtual ~CDib();
/**
* Clears all member variables and frees allocated memory.
*/
void DeleteObject();
/**
* Gets the number of bytes per horizontal line in the image.
* \param nWidth the width of the image
* \param nBitsPerPixel number of bits per pixel (color depth)
*/
static int BytesPerLine(int nWidth, int nBitsPerPixel);
/**
* Returns the height of the image in pixels
*/
int GetHeight() const { return m_BMinfo.bmiHeader.biHeight; }
/**
* Returns the width of the image in pixels
*/
int GetWidth() const { return m_BMinfo.bmiHeader.biWidth; }
/**
* Returns the size of the image in pixels
*/
CSize GetSize() const { return CSize(GetWidth(), GetHeight()); }
/**
* Returns the image byte field which can be used to work on.
*/
LPVOID GetDIBits() { return m_pBits; }
/**
* Creates a DIB from a CPictureHolder object with the specified width and height.
* \param pPicture the CPictureHolder object
* \param iWidth the width of the resulting picture
* \param iHeight the height of the resulting picture
*/
void Create32BitFromPicture (CPictureHolder* pPicture, int iWidth, int iHeight);
/**
* Returns a 32-bit RGB color
*/
static COLORREF FixColorRef (COLORREF clr);
/**
* Sets the created Bitmap-image (from Create32BitFromPicture) to the internal
* member variables and fills in all required values for this class.
* \param lpBitmapInfo a pointer to a BITMAPINFO structure
* \param lpBits pointer to the image byte field
*/
BOOL SetBitmap(const LPBITMAPINFO lpBitmapInfo, const LPVOID lpBits);
public:
/**
* Draws the image on the specified device context at the specified point.
* No stretching is done!
* \param pDC the device context to draw on
* \param ptDest the upper left corner to where the picture should be drawn to
*/
BOOL Draw(CDC* pDC, CPoint ptDest);
protected:
HBITMAP m_hBitmap;
BITMAPINFO m_BMinfo;
VOID *m_pBits;
};
CDib::CDib()
{
m_hBitmap = NULL;
DeleteObject();
}
CDib::~CDib()
{
DeleteObject();
}
int CDib::BytesPerLine(int nWidth, int nBitsPerPixel)
{
int nBytesPerLine = nWidth * nBitsPerPixel;
nBytesPerLine = ( (nBytesPerLine + 31) & (~31) ) / 8;
return nBytesPerLine;
}
void CDib::DeleteObject()
{
m_pBits = NULL;
if (m_hBitmap)
::DeleteObject(m_hBitmap);
m_hBitmap = NULL;
memset(&m_BMinfo, 0, sizeof(m_BMinfo));
}
void CDib::Create32BitFromPicture (CPictureHolder* pPicture, int iWidth, int iHeight)
{
CRect r;
CBitmap newBMP;
CWindowDC dc(NULL);
CDC tempDC;
tempDC.CreateCompatibleDC(&dc);
newBMP.CreateDiscardableBitmap(&dc,iWidth,iHeight);
CBitmap* pOldBitmap = tempDC.SelectObject(&newBMP);
r.SetRect(0,0,iWidth,iHeight);
pPicture->Render(&tempDC,r,r);
// Create a 32 bit bitmap
stdex::vector pBits(iWidth * iHeight);
BITMAPINFO bi;
bi.bmiHeader.biSize = sizeof(BITMAPINFOHEADER);
bi.bmiHeader.biWidth = iWidth;
bi.bmiHeader.biHeight = iHeight;
bi.bmiHeader.biPlanes = 1;
bi.bmiHeader.biBitCount = 32;
bi.bmiHeader.biCompression = BI_RGB;
bi.bmiHeader.biSizeImage = 0;
bi.bmiHeader.biXPelsPerMeter = 0;
bi.bmiHeader.biYPelsPerMeter = 0;
bi.bmiHeader.biClrUsed = 0;
bi.bmiHeader.biClrImportant = 0;
SetBitmap(&bi, pBits);
DWORD* pAr = (DWORD*)GetDIBits();
// Copy data into the 32 bit dib..
for(int i=0;i {
for(int j=0;j {
pAr[(i*iWidth)+j] = FixColorRef(tempDC.GetPixel(j,i));
}
}
tempDC.SelectObject(pOldBitmap);
}
BOOL CDib::SetBitmap(const LPBITMAPINFO lpBitmapInfo, const LPVOID lpBits)
{
DeleteObject();
if (!lpBitmapInfo || !lpBits)
return FALSE;
HDC hDC = NULL;
DWORD dwBitmapInfoSize = sizeof(BITMAPINFO);
memcpy(&m_BMinfo, lpBitmapInfo, dwBitmapInfoSize);
hDC = ::GetDC(NULL);
if (!hDC)
{
DeleteObject();
return FALSE;
}
m_hBitmap = CreateDIBSection(hDC, &m_BMinfo,
DIB_RGB_COLORS, &m_pBits, NULL, 0);
::ReleaseDC(NULL, hDC);
if (!m_hBitmap)
{
DeleteObject();
return FALSE;
}
DWORD dwImageSize = m_BMinfo.bmiHeader.biSizeImage;
if (dwImageSize == 0)
{
int nBytesPerLine = BytesPerLine(lpBitmapInfo->bmiHeader.biWidth,
lpBitmapInfo->bmiHeader.biBitCount);
dwImageSize = nBytesPerLine * lpBitmapInfo->bmiHeader.biHeight;
}
GdiFlush();
memcpy(m_pBits, lpBits, dwImageSize);
return TRUE;
}
BOOL CDib::Draw(CDC* pDC, CPoint ptDest)
{
if (!m_hBitmap)
return FALSE;
CSize size = GetSize();
CPoint SrcOrigin = CPoint(0,0);
BOOL resVal = FALSE;
resVal = SetDIBitsToDevice(pDC->GetSafeHdc(),
ptDest.x, ptDest.y,
size.cx, size.cy,
SrcOrigin.x, SrcOrigin.y,
SrcOrigin.y, size.cy - SrcOrigin.y,
GetDIBits(), &m_BMinfo,
DIB_RGB_COLORS);
return resVal;
}
COLORREF CDib::FixColorRef(COLORREF clr)
{
int r = GetRValue(clr);
int g = GetGValue(clr);
int b = GetBValue(clr);
return RGB(b,g,r);
}
2008年8月6日
#
得承认,这不困难,下面的这种做法可能看起来舒服些。
#include
namespace HL
{
class mallocHeap
{
public:
~mallocHeap (void) {}
inline void * malloc (size_t sz)
{
return ::malloc (sz);
}
inline void free (void * ptr)
{
::free (ptr);
}
inline size_t getSize (void * ptr)
{
return ::_msize (ptr);
}
};
template
class PerClassHeap
{
public:
inline void * operator new (size_t sz)
{
printf("Malloc one\n");
return getHeap()->malloc (sz);
}
inline void operator delete (void * ptr)
{
printf("delete one\n");
getHeap()->free (ptr);
}
inline void * operator new[] (size_t sz)
{
return getHeap()->malloc (sz);
}
inline void operator delete[] (void * ptr)
{
getHeap()->free (ptr);
}
// For some reason, g++ needs placement new to be overridden
// as well, at least in conjunction with use of the STL.
// Otherwise, this should be superfluous.
inline void * operator new (size_t sz, void * p) { return p; }
inline void * operator new[] (size_t sz, void * p) { return p; }
private:
inline static SuperHeap * getHeap (void)
{
static SuperHeap theHeap;
return &theHeap;
}
};
}
class TestB : public HL::PerClassHeap
{
};
2008年7月3日
#
Squirrel是个脚本,再具体的就不说了,直接看代码。
#pragma pack(push,1)
namespace DZH
{
struct DayData
{
unsigned long date;//date的格式:20070423
unsigned long open;//开盘价
unsigned long high;//最高价
unsigned long low;//最低价
unsigned long close;//收盘价
unsigned long moneysum;//成交金额
unsigned long turnover;//成交数量
char unused[12];//保留
};
}
#pragma pack(pop)
DZH::DayData curData;
SQInteger ScriptGetOpen(HSQUIRRELVM v)
{
StackHandler sa(v);
int paramCount = sa.GetParamCount();
//假设只有一个参数,也确实只有一个参数,我们现在先没有参数传递进去吧。//sa.GetInt(i)),sa.GetString(i)来获得参数
return sa.Return((INT)curData.open);
}
SQInteger ScriptGetClose(HSQUIRRELVM v)
{
StackHandler sa(v);
int paramCount = sa.GetParamCount();
//假设只有一个参数,也确实只有一个参数,我们现在先没有参数传递进去吧。//sa.GetInt(i)),sa.GetString(i)来获得参数
return sa.Return((INT)curData.close);
}
这里定义了两个在脚本里可以调用的函数
初始化一下
SquirrelVM::Init();
SquirrelVM::CreateFunctionGlobal(ScriptGetOpen,"GetOpen",_T(""));
SquirrelVM::CreateFunctionGlobal(ScriptGetClose,"GetClose",_T("")); // String var name.
SquirrelObject scriptfunc=SquirrelVM::CompileBuffer("function ciao()\r\n{ return GetOpen()-GetClose();\r\n}");//这里用到了上面定义的函数
SquirrelVM::RunScript(scriptfunc);
使用:
SqPlus::SquirrelFunction func_formula(_T("ciao"));
int ival = func_formula();
这样就OK了,是如此的方便。
2008年5月7日
#
假如只用VC的话,删去common7下的下列文件
驱动器 G 中的卷是 新加卷
卷的序列号是 9453-F61B
G:\vs9\Common7\remove 的目录
2008-05-07 13:45
.
2008-05-07 13:45 ..
2007-11-08 00:58 10,240 iisresolver.dll
2007-11-08 17:26 421,888 Microsoft.Data.ConnectionUI.Dialog.dll
2007-11-08 17:26 6,656 Microsoft.Data.ConnectionUI.dll
2007-10-10 22:47 6,631 Microsoft.Data.ConnectionUI.xml
2007-11-08 17:26 122,880 Microsoft.VisualStudio.Data.Compatibility.dll
2007-11-08 17:26 253,952 Microsoft.VisualStudio.Data.dll
2007-11-08 17:26 40,960 Microsoft.VisualStudio.Data.Host.dll
2007-11-08 17:26 32,768 Microsoft.VisualStudio.Data.Interop.dll
2007-11-08 17:26 499,712 Microsoft.VisualStudio.Data.Package.dll
2007-11-08 17:26 53,248 Microsoft.VisualStudio.Data.Providers.Common.dll
2007-11-08 17:26 167,936 Microsoft.VisualStudio.Data.Providers.Oracle.dll
2007-11-08 17:26 446,464 Microsoft.VisualStudio.Data.Providers.SqlServer.dll
2007-11-08 17:26 475,136 Microsoft.VisualStudio.DataDesign.SyncDesigner.Dsl.dll
2007-11-08 17:26 688,128 Microsoft.VisualStudio.DataDesign.SyncDesigner.DslPackage.dll
2007-11-08 17:26 1,089,536 Microsoft.VisualStudio.DataTools.dll
2007-11-08 17:26 40,960 Microsoft.VisualStudio.DataTools.Interop.dll
2007-11-09 00:19 249,856 Microsoft.VisualStudio.DeployWizard.Dll
2007-10-10 20:26 352,472 Microsoft.VisualStudio.vspBatchParser.dll
2007-10-10 20:26 142,040 Microsoft.VisualStudio.vspConnectionInfo.dll
2007-10-10 20:26 199,384 Microsoft.VisualStudio.vspGridControl.dll
2007-10-10 20:26 64,216 Microsoft.VisualStudio.vspRegSvrEnum.dll
2007-10-10 20:26 39,640 Microsoft.VisualStudio.vspServiceBrokerEnum.dll
2007-10-10 20:26 1,551,064 Microsoft.VisualStudio.vspSmo.dll
2007-10-10 20:26 207,576 Microsoft.VisualStudio.vspSmoEnum.dll
2007-10-10 20:26 862,936 Microsoft.VisualStudio.vspSqlEnum.dll
2007-10-10 20:26 43,736 Microsoft.VisualStudio.vspSqlTDiagM.dll
2007-10-10 20:26 43,736 Microsoft.VisualStudio.vspWmiEnum.dll
2007-11-08 17:26 1,024,000 Microsoft.VisualStudio.Web.dll
2007-11-08 17:26 176,128 Microsoft.VisualStudio.WPFFlavor.dll
2007-11-09 00:19 856,064 Microsoft.VSDesigner.Management.dll
2007-11-08 17:26 405,504 Microsoft.Web.Design.Client.dll
2007-10-23 09:55 156,728 Microsoft.Workflow.DebugController.dll
2007-10-23 09:55 14,400 Microsoft.Workflow.ExpressionEvaluation.dll
2007-10-23 09:55 11,776 Microsoft.Workflow.ExpressionEvaluation.pdb
2007-10-23 09:55 541,744 Microsoft.Workflow.VSDesigner.dll
2007-11-08 00:58 4,068,856 msvb7.dll
2008-05-07 13:39 Packages
2008-05-07 13:45 0 remove.txt
2007-10-23 09:55 357,376 WDE.dll
2007-11-08 17:26 90,112 WindowsFormsIntegration.Design.dll
2007-11-08 17:26 45,056 WindowsFormsIntegration.Package.dll
2007-11-08 17:26 12,288 WinFxBrowserApplicationTemplateWizard.dll
2007-11-08 17:26 13,312 WinFxCustomControlTemplateWizard.dll
2007-10-23 09:55 192,016 WorkflowProject.dll
43 个文件 16,079,111 字节
G:\vs9\Common7\remove\Packages 的目录
2008-05-07 13:39 .
2008-05-07 13:39 ..
2007-11-08 17:26 225,272 csspkg.dll
2008-05-07 13:40 Debugger
2007-11-08 17:26 156,160 htmdlgs.dll
2007-11-08 17:26 2,419,704 htmled.dll
2007-11-08 17:26 151,552 srcedit.dll
2007-11-08 17:26 375,296 webdirprj.dll
5 个文件 3,327,984 字节
G:\vs9\Common7\remove\Packages\Debugger 的目录
2008-05-07 13:40 .
2008-05-07 13:40 ..
2007-11-08 17:26 578,040 cpde.dll
2007-11-08 17:26 853,504 cscompee.dll
2007-11-08 17:26 184,824 jsee.dll
2007-11-09 00:19 251,896 sqlde.dll
2007-11-09 00:19 196,088 sqlle.dll
5 个文件 2,064,352 字节
所列文件总数:
53 个文件 21,471,447 字节
8 个目录 11,531,968,512 可用字节
注:我是pro版本,也许ts的可以删除更多的。
2008年4月1日
#
http://www.tdragon.net/recentgcc/
Twilight Dragon Media Logo
Navigation
Home
Recent GCC Binaries for MinGW
News
2008-03-22
GCC 4.3.0 TDM-2 released! Shared libgcc&libstdc++ and Dwarf-2 exceptions are here! Make sure to read the usage notes for details on the new features.
2008-03-11
GCC 4.3.0 TDM-1 released! All previous bugfixes are integrated into the source now, plus a whole slew of new features in the GCC 4.3 changelog. Look for builds with shared libraries and Dwarf2 exceptions coming soon!
2008-02-03
GCC 4.2.3 TDM-1 released! Includes all previous TDM fixes plus a few bugfixes in the vanilla sources from 4.2.2.
2007-10-11
GCC 4.2.2 TDM-1 released! Various bugfixes in the vanilla sources from 4.2.1 to 4.2.2, plus a patch to fix the ICE compiling GNU gettext.
2007-08-06
GCC 4.2.1 TDM-2 released! Now includes Objective-C++ and Treelang packages, and support for non-UTF-8 charsets (-finput-charset, etc.).
TDM's Experimental GCC/MinGW32 Builds
Binary packages of recent GCC releases targeting the MinGW compiler system
Main Page | Development Information | Bugs
SourceForge.net Logo
TDM GCC releases hosted by SourceForge
Support This Project
Consider making a donation to support the TDM-GCC project
Last updated: 2008-03-28 09:04
in a nutshell
The TDM-GCC builds are unofficially created packages designed to replace, for experimentation purposes, the official MinGW releases of GCC binaries. The TDM-GCC builds typically contain fewer changes from the vanilla sources and receive less testing than their official counterparts. Since these builds are not formally affiliated with or endorsed by the MinGW project, they should be treated as unstable and unsupported software -- in other words, use it at your own risk.
Recommended Download
GCC 4.3.0-tdm-2
(Default SJLJ exceptions)
Released 2008-03-21
Package Download
core
(Required base files and C support) [tar.gz] (5.67 MB) or [zip] (5.44 MB)
g++
(C++ support) [tar.gz] (8.41 MB) or [zip] (8.73 MB)
fortran
(Fortran support) [tar.gz] (4.54 MB) or [zip] (4.34 MB)
objc
(Objective-C support) [tar.gz] (3.55 MB) or [zip] (3.41 MB)
objc++
(Objective-C++ support) [tar.gz] (3.68 MB) or [zip] (3.53 MB)
OR
GCC 4.3.0-tdm-2
With DW2 Exceptions
Released 2008-03-21
Package Download
core
(Required base files and C support) [tar.gz] (7.84 MB) or [zip] (7.49 MB)
g++
(C++ support) [tar.gz] (6.30 MB) or [zip] (6.76 MB)
fortran
(Fortran support) [tar.gz] (4.52 MB) or [zip] (4.34 MB)
objc
(Objective-C support) [tar.gz] (3.54 MB) or [zip] (3.41 MB)
objc++
(Objective-C++ support) [tar.gz] (3.66 MB) or [zip] (3.53 MB)
For previous releases and source code, see the TDM-GCC download page on SourceForge.
GCC is supposed to support language XYZ! Why isn't there a language pack available for it?
See the development page for details on languages that don't currently compile -- maybe you can provide a patch or alternate build command so that they can!
installation
These binary packages are designed as drop-in replacements for the MinGW project's official gcc packages. When using these packages, you are encouraged to start with a clean slate and install only the MinGW packages which are necessary to you. At a minimum for basic Windows development, you'll need the following packages:
* binutils (binutils-2.18.50-20080109-2.tar.gz, 5.81MB)
* mingw-runtime (mingw-runtime-3.14.tar.gz, 494KB)
* w32api (w32api-3.11.tar.gz, 1.55MB)
You might also want to install:
* mingw-utils (mingw-utils-0.3.tar.gz, 1.51MB)
* mingw32-make (mingw32-make-3.81-2.tar.gz, 95KB)
* gdb (gdb-6.6.tar.bz2, 1.80MB)
You'll need GDB particularly if you want to use an IDE with debugging support.
Decide whether to use the SJLJ or DW2 (Dwarf-2) exception model. As a general rule, you should choose the default SJLJ packages, unless you know you need faster exception handling and can guarantee you'll never need to unwind through non-DW2-compiled stack frames (such as a Windows callback). Then, for the exception model of your choice, download at least the "core" TDM-GCC package, which includes the required base files as well as support for the C language. You can also download any or all of the other TDM-GCC packages, depending on which of GCC's supported languages you'd like to use.
Extract the MinGW packages to an empty directory -- typically C:\MinGW. Then, extract the TDM-GCC package(s) and choose to overwrite any duplicate files that may exist. If you chose to use the "dw2" TDM-GCC packages, consider removing the "-dw2" suffix from the program names; see the README file or the usage notes for further details. Finally, consider adding the bin directory to your Windows PATH environment variable.
You can browse all released packages and source packages at the TDM-GCC download page on SourceForge. Beginning with the 4.3.0 release, all TDM-GCC releases are now available as gzipped tarballs or zip archives. Previous releases do, of course, still require 7-Zip for unarchiving.
All-in-One Installer:
Giovanni Bajo created an "all-in-one" user-friendly installer of an earlier 4.1.2 GCC-TDM release, which additionally features full Python integration. The full installer is available at http://www.develer.com/oss/GccWinBinaries.
usage notes
Exceptions and DLLs:
WARNING: The shared libgcc and libstdc++ in 4.3.0 aren't fully working yet; depending on which objects you use from libstdc++, you may see multiple definition errors and/or auto-import warnings.
In order to throw an exception out of a DLL and successfully catch it, your program must link with the shared (DLL) versions of libgcc and libstdc++. This is important for several reasons.
* The default action is still to link with the static versions of these libraries. This is fine for the majority of people. In order to link with the shared versions of libgcc and libstdc++, you need to add "-shared-libgcc" and "-lstdc++_s" to the link-time compilation step. For example: gcc -o test.exe test.o -ltest -shared-libgcc -lstdc++_s.
* If you make use of common libstdc++ objects in your program while using the above options, you'll see auto-import warnings and/or errors unless you ALSO, at COMPILE-TIME, define the macro "_DLL". You can either do a "#define _DLL" before including libstdc++ headers, or add "-D_DLL" to the command line. For example: gcc -c -o test.o test.cpp -D_DLL.
* Linking with the shared versions of libgcc and libstdc++ means you have to distribute the libgcc and libstdc++ DLLs along with your programs. Also, this in turn tends to open up questions about the GPL and source code distribution requirements; be sure to read this page from the MinGW Wiki, as well as this FAQ from the GNU website's GPL FAQs.
Dwarf-2 vs. SJLJ unwinding:
GCC supports two methods of stack frame unwinding: Dwarf-2 (DW2) or SJLJ (setjmp/longjmp). Until recently, only SJLJ has been available for the Windows platform. This affects you, the end user, primarily in programs that throw and catch exceptions. Programs which utilize the DW2 unwind method handle exceptions much more quickly than programs which utilize the SJLJ method. However, the DW2 method increases code size by a noticeable amount, and additionally cannot yet unwind (pass exceptions) through "foreign" stack frames: stack frames compiled by another non-DW2-enabled compiler, such as OS DLLs in a Windows callback.
This means that you should in general choose the SJLJ version of the TDM-GCC builds unless you know you need faster exception handling and can be certain you will never throw an exception through a foreign stack area.
As distributed, the SJLJ and DW2 packages of TDM-GCC can coexist peacefully extracted to the same directory (e.g. any files in common are for all intents and purposes identical), because the driver executables (the ones in the "bin" directory) are suffixed with "-dw2" for the DW2 build, and the libraries and other executables hide in another "-dw2" directory in "lib(exec)/gcc/mingw32". This allows you to use the same single addition to your PATH, and use DW2 exceptions only when you need them by calling "gcc-dw2", etc. If you truly want DW2 exceptions as the default when calling "gcc" (from Makefiles or configury systems, for example), you can rename or copy the suffixed executables to their original names.
Warnings and errors:
GCC 4 represents a significant step forward in optimization capabilities, error detection, and standards compliance, and this is more true than ever with the advent of the 4.3 release series. For you, the end user, this will mean that code which used to compile and run without problems will almost certainly exhibit some warnings and maybe even a few errors.
These meaningful warnings and errors are a very good thing, as they help the programmer to write safer and more correct code. Unfortunately, there's also a chance you might encounter incorrect warnings or errors, ICE's (internal compiler errors, where the compiler makes a mistake and has to bail out), or even miscompilations (where your code is incorrectly compiled and produces the wrong result).
If you encounter an ICE while using a TDM-GCC build, feel free to file a bug report (see the Bugs page). With any other unexpected problem, you are urged to work from the assumption that it stems from user error, and ensure that your code is correct and standards-compliant.
OpenMP and pthreads-w32:
The TDM-GCC releases include support for OpenMP. Be sure to read the file README-gcc-tdm.txt, included in the core package, for usage notes on this topic.
Local Fixes and Changes:
See the Development page for information on patches to the vanilla sources included in the TDM-GCC releases.
bugs and known issues
* [Only releases prior to 4.3.0-tdm-2] Exceptions cannot leave DLLs. This issue was fixed in the official MinGW releases with local patches for the 3.4 series and 4.2 series, but is not fixed in the main GCC sources. Beginning with 4.3.0-tdm-2, the patchset to build shared libraries and fix this has been ported to the TDM-GCC releases. The problem only appears in previous releases when a function in a DLL called from outside the DLL throws (or fails to catch) an exception, and results in program termination at that point.
* [4.2 series only] A miscompilation can occur in very specific situations when -O2 optimization is enabled, if you pass the address of a local pointer variable to a function that modifies it. Use "-O2 -fno-strict-aliasing" as a workaround. This has been fixed as of the 4.3 series. (See http://gcc.gnu.org/bugzilla/show_bug.cgi?id=32328)
These builds are provided primarily on an experimental basis. As such, they are expected to contain bugs. If you encounter a bug that you are certain is in the GCC sources (such as an ICE), or that is due to an issue in the building or packaging process, you are encouraged to report it. Please visit the Bugs Page for bug reporting instructions.
source code
The source code for the TDM-GCC binary releases is available from the TDM-GCC download page on SourceForge. It is distributed in the form of the original ("vanilla") separate source packages as downloaded, plus an additional "TDM Sources" package. The TDM Sources package includes unified diffs of any changes made to the vanilla sources, as well as the set of scripts used to build the binary releases.
license
The TDM-GCC packages contain binary distributions constituting a work based on GCC, which is licensed under the GPL. For further details, refer to the file "COPYING-gcc-tdm.txt" within the downloaded package. Additionally, TDM-GCC contains binary files constituting works based on libiconv, GMP, MPFR, and pthreads-w32, all of which are licensed under the LGPL; COPYING.lib-gcc-tdm.txt contains a copy of the LGPL.
The TDM-GCC distribution is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version.
TDM-GCC is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.
The contents of this website, including but not limited to graphics, layout, and text, are copyright John E. 2005-2008. All rights reserved; you must obtain explicit written permission from the author before using any portion of this site in your own works. This website is designed to be best viewed in HTML 4.01 and CSS2+ compliant browsers running under a monitor resolution of at least 1024x768.
2008年1月29日
#
在城市里,往往听到这样的呼声:“农民工,滚回你们的农村去!”
每当听到这样的话,让人感到很俗气,很恶心,腹内便有了翻江倒海般的感觉。原始的意识告诉我,那就是想呕吐。
曾几何时,农民工成了江洋大大盗的代名词,成了社会动荡的主因,成了猥琐,龌龊,无知的形像代言人。农民工围攻政府,农民工抢劫杀人,农民工入室盗窃,农民工跳楼讨薪,农民工奸淫掳掠。实足是八国联军进城。种种种种每日成了各大新闻媒体报刊杂志的头条。于是“农民工”这三个字顿时成了全国舆论的焦点。大有席卷全世界之势。感谢城里的都市人,让咱们这些名不见经传,没见过世面的农民工着着实实的风光了一把。
凡冠以农民工之名的各种杂志必定大卖,新闻必定大红大紫,电影必定叫坐。那么,是谁成就了农民工?
农民工,即使在广州深圳这样的大城市里生活了近七八个年头。尽管说得一口流利的粤语,取得广州户口,但每每有人问及是哪里人,他们都得说咱是农村来的。因为他们摆脱不了头上顶着的农民工的那个光圈,走到哪里也洗不掉农村人身上的那股牛屎味……
当地上躺着一块钱,城里人会昂着头走地去,装做没看见,而他们会弯着腰,捡起来拍拍上面的尘土,如获至宝,因为他们是农民工,就那点出息。
当城里人坐在装修气派的餐厅酒楼大鱼大肉的时候,他们就是站在城里人旁边帮他们摆碗摆筷,端茶送水的人。看着城里人喝得酩酊大醉,吃得满嘴流油,他们心里在想:什么时候咱也能像城里人一样坐下来,让人伺候着,然后大手一甩,对着身边低头哈腰,满脸陪笑的服务员大叫一声:刷卡或者签单。他们只想体验下做城里人的感觉。他们只想体验一下那种欺负人的感觉,因为他们是农民工,他们就那点出息。
当城里人坐在酒吧歌厅怀里搂着“小妹”,口里唱着“十八摸”,手在小妹身上游来游去,眼睛死盯着若隐若现的乳沟的时候,然后将印着毛主席头像的百元大钞往小妹乳罩里面塞,来搏取小妹如蛇般的曼妙身姿,在他怀中扭来扭去而激发的快感时,他们却坐在人行天桥上或者地下通道里,怀里抱着那十多年前花了几十块买的破吉它,口里唱着离家的孩子,眼睛死盯着过路的行人的口袋,希望从那里蹦出一、两个钢崩,然后听到一声清脆的叮铛声,摆在面前的盆子里多出一个银晃晃的硬币。再然后向施舍的人投去感激的眼神,鞠上一个深深躬。是的,城里人在想尽办法将自己的钱丢进别人人口袋的时候,他们却想着怎么让城里人把钱丢进自己的口袋。因为他们是农民工,他们不知道快感为何物,只知道生活让他们明白必须得卑躬屈膝的做人。
当城里的作者、学者、社会评论员或者社会学学者拿“农民工”这三个字做为噱头,大肆渲染他们的文章或者社会评论赚取大把大把的花花绿绿的钞票的时候,农民工便成了他们赚钱的机器,成了他们的提款机,只要他们出示“农民工”三个字,无需密码验证。钱就源源不断的流入了他们的口袋。如果把学者们当做是编剧,农民工便是那剧集里面的男女主角。不同于那些大腕明星,可以甩大牌,可以提条件。谈报酬,而农民工只是老老实实的按照他们笔下刻画的形像去演好自己的角色,没有报酬。编剧们达到了他们的目的,赢得了大把的利润,而他们只是期望大众的关注,但结果是却赢得无数的鄙视与不屑。
他们只是一个农民工,只是因为生活所迫,希望在纸醉金迷,便地是黄金的都市里找个角落栖身,为自己的嘴赚取一口粗粮,为年幼的儿子赚取一桶奶粉。为年迈的父母赚取一副棺材。所以他们给城里人跪下,并哀求城里人。
“农民工,滚回你们的农村去。” 请城里人收回你们的这句话。他们只是一群为生计所迫的农民工,他们并不想跟城里人抢就业的机会,或者是均享你们的社会副利。他们只是在想:等咱有了钱,咱会带着儿子的奶粉和老娘的棺材滚回咱们的农村去的。不用你们叫咱滚。咱是农民工,但咱也有人格与尊严。
不知道是谁创造了农民这个词,但他们知道自己为什么是个农民,道理很简单,他们的爷爷是个农民,所以他们的爹也是个农民,因为他们的爹是个农民,所以他们也是个农民。
他们不知道为什么人家说自己离经叛道,说自己整天摆出个死猪不怕开水烫的调调。不就是因为抱怨邓小平同志太小气,要是1979年的那个春天,他的那个圈画大一点。或者将那个圈画在自己的家乡。他们不就成了城里人吗?只可惜邓小平同志只是在南海的边边上,画了一个小小的圈。以至于今天他们被别人叫成了农民工。
农村,那个在迁客骚人誉为鸟语花香,民风纯朴的地方,曾经多么令人向往,可是在中国经济迅猛发展的今天。那里的人却还一直守着一亩三分田,日出而作,日落而栖,信息的闭塞,交通的闭塞,教育的落后,致使生活在那里的人衣食堪忧,因为农产品的廉价,生产成本的不断上升,农村人忙活了一年,所得的收入还抵不上开支,于是大多数的人开始背井离乡,去到一个叫城市的地方去淘金,希望在城市里凭着自己的勤劳,朴实找到一份工作。改变多桀的命运。
可是当他们承载着全家人的梦想,来到这个被钢筋水泥浇成的都市里后,才发现偌大的一个城市,却没有弹丸之地让他们立足。他们没有上过大学,没有专业技能。当他们四处碰壁,口袋里的钱又所剩无几的时候,为了生存,为了满足他们最基本的生活需要,他们丧失了与用人单位或者说是雇主讨价还价的权力,于是街头巷尾出现了他们的影子,或拉着个板车,在小区内叫着只有他们才能听懂的:收垃圾咯,废旧电视,冰箱,DVD高价回收咯。或手里拎着个蛇皮袋子,在每个垃圾筒里翻来捣去,翻到一个矿泉水瓶或易拉罐也能让他们两眼放绿光。而更多的人,走进了工厂,开始廉价出卖他们的劳动力,成为资本家追求利益最大化的生产工具。还有一部分人不约而同的坐在某一个地方,等待那些需要雇佣零时工的雇主们来挑选。他们都来自农村,因此一个新名词便应运而生:农民工。
但不是每个农民工付出了自己的劳动都能拿到相应的报酬,有很多人,劳碌了一年,眼看要过春节回家的时候,他们的雇主,却携款潜逃,或者他们打工的厂子因经营不善,发不出工资,他们拿不到一分钱,甚至回家的路费也没有,可是家里还有年迈的父母望眼欲穿,还有年青的妻子殷殷期盼,年幼的子女嗷嗷待哺。于是他们采用各种方式来索要本应属于他们的工资。他们有的跟雇主下跪,有的围堵包工头,他们没有法律意识。他们认为这是最简单也是最直接的方式,可是没有人去怜悯他们。也没有人去理会他们,他们上天无路,入地无门,当他们歇斯底里的哀求,仍得不到回应。他们开始铤而走险。抑或采取极端的方式进行抗争,如是出现了农民工爬上高楼或者塔吊以跳楼相要挟,抑或绑架欠他们工钱的人索要他们的工钱,或者砸坏机器来发泄他们心中的愤慨。更有甚者开始报复社会。
我不是有意为农民工辩护,作为社会的弱势群体,缺乏自我保护的手段,他们朴实得有点愚昧,在这个整天叫嚣着平等与和谐的社会主义社会里饱受着欺凌与压榨。不可否认的,有一小撮农民工来到城市后,发现现实与他们的梦想相去甚远,挫败感让他们对生活失去了信心,他们开始吸毒,开始聚众闹事,开始入室盗窃,抢劫。甚至撬开某一出租屋,将自己的身体压在另一个不相识的异性的身体之上,于是城里人开始感到他们生活着的这城市里处处充满的危机。惶惶不可终日。于是开始忽略大部分农民工为这个城市的发展做出的贡献,口中大喊:“农民工,滚回你们的农村去。”
就广东而言,仅湖南每年输入到这里的劳动力就超过五百万,城市的发展没有这些外来务工人员,也就是你们口中的农民工,不知道又会是个什么样子,我无法统计到这些外来的农民工到底每年为城市创造了多少价值,但可以肯定的一点,当你们叫嚣着:“农民工,滚回你们的农村去”的时候,也同时将你的愚昧狭隘凸显得一览无余。
这一切不是某一个人的力量所能左右的,如果你学过政治,你应该知道国情这个词,很明显国情决定一切。960万平方公里,十三亿人口,农村人口占70%,30%的的城里人却占了总资产的87%。
是的,城里人过上小康生活的时候,他们还在为一日三餐发愁,城里人步入国际化大都市的时候,他们离小康还很遥远。当城里人追求物质生活的时候,他们还没明白什么叫生活,当城里人开始追求精神生活的时候,他们还没搞懂什么叫物质。也许农民工只适合生活在原始社会,因为那里没有贫富贵贱,没有压榨与歧视。当然共产主义社会也许适合他们生存,那个时候,你的就是我的,我的就是你的。想当然他们也会有了优越感。可是现在的社会主义社会着实让这些农民工很尴尬。电视里时常播放着,某某领导慰问特困户,某某单位为农民工讨回被拖欠工资,然后就是一个特写,一个老得没有了门牙的老农民,或者老农民工,装出一副欣喜若狂的样子,口中重复着感谢党之类的话,然后将手中几张少得可怜的人民币展成扇形,表示很多很多……
农村与城市的这种体制决定了他们今天的尴尬,比如工伤致死一个人,如果是城市人口可能能获赔35万,而如果是个农民工也许只给你个十万八万就算了事。就是车祸致死人命,他们因为是农村户口,获得的赔偿仅是城市户口的一半。都是一条命,只是因为一个生在城市而一个活在农村,连生命也因为城市与农村有了贵贱之分,这是农民工的尴尬,却难道不是社会的悲哀?
话再说回来,一小撮进入到城市里的农民工,确实给城市的治安带来了一些问题,但那毕竟是一小撮,不能一棍子打死一片,就如同城里人也有也有因争风吃醋雇凶杀人,或者为讨情人欢心,动辄挪用公款上亿来挥霍的。又或者贪污受贿,卖官縻爵,偷税漏税的,不同的是,农民工智商太低,所以他们采取的犯罪方式简单直接,而城里人素质相对高些,所以犯罪手段或者方式隐晦一些。但都是犯了罪,如果究其影响而言,城里人犯的案子对社会的危害明显要大过那一小撮农民工犯案所造成的社会危害。
所以我要再次重申,他们只是一群为了生存而来到城市打拼的农民工,他们不怕苦不怕累。可以帮城里人清理下水道,清洁卫生间,可是他们无法去清扫城里人那张嘴,他们也有血有肉,他们也有人格与尊严,他们也懂得什么是爱什么是憎。只是他们是来自农村的一群人,他们也有希望也有梦想。当他们被生活逼得走投无路的时候,你们不要落井下石,不要让他们感觉到道德在逐渐沦丧,人性在逐渐悖离,道义的底线在逐渐崩溃。所以我要以农民工的名义请求你们,请你们留点口德,留点希望给这些在社会底层与命运抗争的人。
当人类把猪叫做畜生的时候,我不知道猪怎么来称呼咱们人类,而当你们歧视咱们农民工的时候,咱们却不知道怎么来称呼你们这样的一些城市人!
http://q.163.com/xinlingshenchu/blog/manbuzhe1949/3398277820080286125723/#3398277820080286125723
2007年9月20日
#
BastEt 7 (43791167) 12:55:21
这个世界有很多矛盾,但现在也想不通,这些事情到底是怎么发生的呢。
Linker.Lin(19775974) 12:53:52
利益
BastEt 7 (43791167) 12:56:00
利益,利用
Linker.Lin(19775974) 12:54:54
比如WIndows系统对C++的支持
BastEt 7 (43791167) 12:56:48
难道真是如精英主义们认为的,他们决定一切,我们接受安排。
Linker.Lin(19775974) 12:55:18
是啊
完全实现(39025058) 12:56:03
没如没有WINDOWS平台,我们这些所谓的软件工程师的工资会高很多
Linker.Lin(19775974) 12:56:10
不会
BastEt 7 (43791167) 12:58:00
不会有这么多软件工程师的需求。
Linker.Lin(19775974) 12:56:29
没有Windows的话,应用开展不了
Linker.Lin(19775974) 12:56:37
还是IBM的天下
Linker.Lin(19775974) 12:56:42
基本靠贿赂
Linker.Lin(19775974) 12:56:59
IBM基本上是一家贿赂公司
Linker.Lin(19775974) 12:57:38
现在她的Power G6的性能没有Intel的好
Linker.Lin(19775974) 12:57:58
IBM还把PowerG6放到大型机里面忽悠人
Linker.Lin(19775974) 12:58:09
买的贵1000倍有余
Linker.Lin(19775974) 12:58:12
卖
BastEt 7 (43791167) 13:00:22
真黑啊。
Linker.Lin(19775974) 12:58:52
SUN更黑
BastEt 7 (43791167) 13:00:33
sun,hp,ibm,sgi这些公司感觉都黑。
Linker.Lin(19775974) 12:59:00
是啊
wildfire(13518116) 12:59:09
他们确实有自己的技术。
BastEt 7 (43791167) 13:00:56
感觉跟中国市场上浙江货取代以前的国有货一样。
Linker.Lin(19775974) 12:59:22
微软算比较是在的了
Linker.Lin(19775974) 12:59:25
实在
漂舟(15282890) 12:59:26
除了技术,能做到这一步,
都是黑中的极品。
wildfire(13518116) 12:59:30
但是把技术弄的高端了,就是为了高价
wildfire(13518116) 13:00:09
确实我现在也觉得ibm的刀片配套得都不错。当然,cpu是intel的。
Linker.Lin(19775974) 13:00:13
长远来看,个人用户这块,Windows和Apple必将二分天下
硕鼠(492943470) 13:00:27
Linker.Lin(19775974) 13:00:29
因为,只有这两家不靠贿赂
硕鼠(492943470) 13:00:34
两分?
硕鼠(492943470) 13:00:48
Apple有多少个人用户?
Linker.Lin(19775974) 13:00:48
Novell Redhat 红旗 都是靠贿赂
漂舟(15282890) 13:00:56
苹果机好像很贵 ?
Linker.Lin(19775974) 13:01:08
Linux厂商的贿赂额度很大
Linker.Lin(19775974) 13:01:26
基本上单价的80%用来贿赂
BastEt 7 (43791167) 13:03:05
ms肯定现在也贿赂中国政府的,像上次的“所有的机器不准裸机”摆明了是针对盗版WIN来的。
Linker.Lin(19775974) 13:01:35
对的
Linker.Lin(19775974) 13:02:11
总体上来看,Windows和Apple必将成为计算机界的麦当劳和KFC
硕鼠(492943470) 13:02:34
Apple差太多了
wildfire(13518116) 13:02:37
问题是ms不生产硬件。硬件从哪里来?
Linker.Lin(19775974) 13:02:47
这个不是关键
Linker.Lin(19775974) 13:02:56
Apple也不做硬件
Linker.Lin(19775974) 13:03:03
只是设计和软件
硕鼠(492943470) 13:03:04
Apple当然做硬件
BastEt 7 (43791167) 13:04:46
可以找台湾代工。
Linker.Lin(19775974) 13:03:13
富士康代工
BastEt 7 (43791167) 13:04:54
MS周边也有不少。
Linker.Lin(19775974) 13:03:39
XBOX和iPod在一家工厂生产
BastEt 7 (43791167) 13:05:21
但最终生产估计也是中国或者台湾出来的。
Linker.Lin(19775974) 13:03:47
嗯
Linker.Lin(19775974) 13:04:30
现在,Windows一通天下的,Apple盘踞诸岛的格局就要形成了
Linker.Lin(19775974) 13:04:43
IBM可能不久就推出实物业务
Linker.Lin(19775974) 13:04:59
全力经营"忽悠"主业
Linker.Lin(19775974) 13:05:07
咨讯
BastEt 7 (43791167) 13:06:48
推->退吧?
Linker.Lin(19775974) 13:05:16
嗯
Linker.Lin(19775974) 13:05:31
IBM的主要利润来自咨询
BastEt 7 (43791167) 13:07:18
一些高端业务可能他还会做吧?
Linker.Lin(19775974) 13:05:46
软件都是通过资讯搭售的
BastEt 7 (43791167) 13:07:26
像什么xbox的里面的心片?
Linker.Lin(19775974) 13:06:00
那个可能会剥离吧
Linker.Lin(19775974) 13:06:28
IBM最后肯定走麦肯锡的路
BastEt 7 (43791167) 13:08:16
那块业务我觉得比较重要:1、政府国防需要,2、利润大。
BastEt 7 (43791167) 13:08:22
3、没有什么竞争 。
Linker.Lin(19775974) 13:06:46
嗯
Linker.Lin(19775974) 13:06:49
这倒是
BastEt 7 (43791167) 13:09:14
我觉得他的思路基本上是从竞争激烈的行业退出。
Linker.Lin(19775974) 13:07:47
SUN在国防业做的很好
Linker.Lin(19775974) 13:08:04
嗯,IBM是个恐龙
BastEt 7 (43791167) 13:10:01
名字叫:国际商用电器。
BastEt 7 (43791167) 13:10:08
估计很多个业务 的。
BastEt 7 (43791167) 13:10:51
美国最早很多公司好像卖加法机,避雷针发财了。
Linker.Lin(19775974) 13:09:20
IBM鼓吹开源害死很多小公司,在国外的名声很差的,同时自己还申请专利,又开源又专利本身就是矛盾的
BastEt 7 (43791167) 13:11:25
MS在中国也是这样搞的,可悲的是真正意识到的不多,都是被IBM利用了。
Linker.Lin(19775974) 13:10:01
是啊
BastEt 7 (43791167) 13:12:16
要真的把MS搞倒了,最终受损害的还是我们。
Linker.Lin(19775974) 13:10:44
对的
BastEt 7 (43791167) 13:12:43
linux则不同,LINUX基本上是控制在这几家比较黑的公司手上的。
Linker.Lin(19775974) 13:11:05
MS倒闭了,用户可能很多年都不买新电脑
Linker.Lin(19775974) 13:11:28
Linux的有可能会闭源
Linker.Lin(19775974) 13:11:37
如果GNU3失败的话
BastEt 7 (43791167) 13:13:20
想象得到,要是MS倒了,linux不一定会闭源,但可能会分成两个分支。
BastEt 7 (43791167) 13:13:51
一支很垃圾,开源的,普通人用,一支用起来很好用,但是闭源的(其实只要一个好的GUI桌面就可以了)
Linker.Lin(19775974) 13:12:13
欧洲人很傻
Linker.Lin(19775974) 13:12:17
支持Linux
Linker.Lin(19775974) 13:12:28
结果自己的操作系统无法发展
BastEt 7 (43791167) 13:14:21
表面上ms和linux之战,暗地里还是大公司之间的争斗。
Linker.Lin(19775974) 13:12:49
是啊
BastEt 7 (43791167) 13:14:42
我把这段话贴到我的BLOG上去可以吧?
Linker.Lin(19775974) 13:13:05
国内的人很少从商业层面思考
Linker.Lin(19775974) 13:13:18
都是学生层次的思考力
Linker.Lin(19775974) 13:13:26
可以啊
Linker.Lin(19775974) 13:13:46
BastEt 7 (43791167) 13:15:32
欧州不一定呆,有可能也受了IBM的钱了。
wildfire(13518116) 13:14:10
国内都白痴啊
wildfire(13518116) 13:14:13
我算见识过了
wildfire(13518116) 13:14:20
跟他讲道理,还跟你急
Linker.Lin(19775974) 13:14:33
唉
BastEt 7 (43791167) 13:16:28
用传销的方式,直接喊几声口号。
BastEt 7 (43791167) 13:16:32
说不定他就相信了。
Linker.Lin(19775974) 13:15:04
2007年8月30日
#
现在开源感觉真可怜,感觉是被少数厂商操纵,利用我们大部分人的人来做他们想做的事情,反对他们想反对的敌人。
真正意义上的开源从很久以前就存在着(起码是bsd时代),为什么那个时候没人关心?
为什么突然一下子开源这个词变得这么热门,都快赶得上超女了。
原因很简单:有厂商别有用意的要利用开源。政治历史书上最多的是普通民众被利用,少数精英攫取成果的事情,现在又一次重演了。
很多人估计又一次被其他人当枪使了。
想起前段时间的oopxml和什么的标准之争,赢了或者输了,对我们中国人来说又有什么意义。不管哪方赢了我们都要给钱,我认为最好的做法是不要标准,或者是不管什么做法,只要允许其他人也使用就够了。
2007年8月22日
#
“QQ用户多是学生,MSN更适合上班族”,很多人的这个约定俗成的看法恐怕要被打破了。腾讯内部的统计显示,在2007年第三季度,QQ的同时在线人数突破3000万,去年同期是2000万,同比增长了50%。而艾瑞市场咨询进行的第二季度我国即时通讯(IM)市场调查显示,与人们传统认知有所不同的是,QQ在上班族中的市场占有率也达到了75.1%,而MSN的占有率仅为16.9%。
QQ平均好友数达94个
腾讯首次披露了即时通讯工具在应用方面的调查数据,中国即时通讯用户平均的即时通讯联系人数量在50位左右,有30.6%的用户拥有100位以上的即时通讯联系人,上述这两个数据,都是指国内的所有即时通讯用户。而QQ用户的平均好友数约为94个。统计还显示,在2007年第三季度,QQ的同时在线人数突破3000万,去年同期是2000万,同比增长了50%。截止到2007年6月,QQ总活跃账户数超过了2.7亿。
MSN并未“占领”上班族
尽管人们的传统观念认为,白领和写字楼办公群体首选MSN,而年轻人、学生网民首选QQ,但是,艾瑞市场咨询的数据却显示,QQ在家庭中的占有率达到了79.7%。在公司和办公场所,QQ的占有率达72.1%,在上班族人群中的市场占有率也达到了75.1%,高于MSN的20.1%和16