<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:trackback="http://madskills.com/public/xml/rss/module/trackback/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/"><channel><title>七猫的藏经阁</title><link>http://blog.vckbase.com/bastet/</link><description>其实只是垃圾箱</description><managingEditor>Diviner</managingEditor><dc:language>zh-CHS</dc:language><generator>.Text Version 0.958.2004.214</generator><item><dc:creator>Diviner</dc:creator><title>C#和java的战争中，双方都赢了，输家是c++</title><link>http://blog.vckbase.com/bastet/archive/2010/03/14/41158.html</link><pubDate>Sun, 14 Mar 2010 14:47:00 GMT</pubDate><guid>http://blog.vckbase.com/bastet/archive/2010/03/14/41158.html</guid><wfw:comment>http://blog.vckbase.com/bastet/comments/41158.html</wfw:comment><comments>http://blog.vckbase.com/bastet/archive/2010/03/14/41158.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://blog.vckbase.com/bastet/comments/commentRss/41158.html</wfw:commentRss><trackback:ping>http://blog.vckbase.com/bastet/services/trackbacks/41158.html</trackback:ping><description>早几年曾经写过一篇说c++正在没落的文章，当时应该很多人反对，我想他们中的部分人现在可能已经改变主意了。&lt;BR&gt;&lt;BR&gt;目前c++的两大市场在游戏和客户端。要是不立足于做这两块的同仁，建议即使不想放弃c++，最好也多学一门第二语言，比如java,c#,python啥的。&lt;BR&gt;&lt;BR&gt;web的趋势有可能是前台php,中间和后台用java&lt;BR&gt;&lt;BR&gt;&lt;img src ="http://blog.vckbase.com/bastet/aggbug/41158.html" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Diviner</dc:creator><title>Berkeley DB怎么在单个文件里创建多个表的例子。</title><link>http://blog.vckbase.com/bastet/archive/2009/08/18/38140.html</link><pubDate>Tue, 18 Aug 2009 15:38:00 GMT</pubDate><guid>http://blog.vckbase.com/bastet/archive/2009/08/18/38140.html</guid><wfw:comment>http://blog.vckbase.com/bastet/comments/38140.html</wfw:comment><comments>http://blog.vckbase.com/bastet/archive/2009/08/18/38140.html#Feedback</comments><slash:comments>11</slash:comments><wfw:commentRss>http://blog.vckbase.com/bastet/comments/commentRss/38140.html</wfw:commentRss><trackback:ping>http://blog.vckbase.com/bastet/services/trackbacks/38140.html</trackback:ping><description>int main(int argc,char *argv[])&lt;BR&gt;{&lt;BR&gt;	DB_ENV *dbenv;&lt;BR&gt;	int ret = db_env_create(&amp;dbenv, 0);&lt;BR&gt;	dbenv-&gt;set_cachesize(dbenv, 0, 5 * 1024 * 1024, 0);&lt;BR&gt;	ret = dbenv-&gt;open(dbenv, "d:\\test\\", DB_CREATE|DB_INIT_LOG| DB_INIT_MPOOL, 0);&lt;BR&gt;&lt;BR&gt;	{&lt;BR&gt;		DB *dbp1=NULL;&lt;BR&gt;		ret = db_create(&amp;dbp1, dbenv, 0);&lt;BR&gt;		int flags = DB_CREATE;&lt;BR&gt;		ret = dbp1-&gt;open(dbp1, NULL, "kingstock.db", "test1", DB_BTREE, flags, 0); &lt;BR&gt;		dbp1-&gt;close(dbp1,0);&lt;BR&gt;	}&lt;BR&gt;&lt;BR&gt;	{&lt;BR&gt;		DB *dbp2=NULL;&lt;BR&gt;		ret = db_create(&amp;dbp2, dbenv, 0);&lt;BR&gt;		int flags = DB_CREATE;&lt;BR&gt;		ret = dbp2-&gt;open(dbp2, NULL, "kingstock.db", "test2", DB_BTREE, flags, 0); &lt;BR&gt;		dbp2-&gt;close(dbp2,0);&lt;BR&gt;	}&lt;BR&gt;&lt;BR&gt;	dbenv-&gt;close(dbenv,0);&lt;BR&gt;	return 0;&lt;BR&gt;}&lt;img src ="http://blog.vckbase.com/bastet/aggbug/38140.html" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Diviner</dc:creator><title>西乡，你一旦决定一件事之后，就想贯彻始终。但这么做，将来你会落后于时代的。 看船中八策想到的。</title><link>http://blog.vckbase.com/bastet/archive/2009/03/16/36631.html</link><pubDate>Mon, 16 Mar 2009 07:22:00 GMT</pubDate><guid>http://blog.vckbase.com/bastet/archive/2009/03/16/36631.html</guid><wfw:comment>http://blog.vckbase.com/bastet/comments/36631.html</wfw:comment><comments>http://blog.vckbase.com/bastet/archive/2009/03/16/36631.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://blog.vckbase.com/bastet/comments/commentRss/36631.html</wfw:commentRss><trackback:ping>http://blog.vckbase.com/bastet/services/trackbacks/36631.html</trackback:ping><description>船中八策：&lt;BR&gt;(1)奉还政权；(2)设上下议政局；(3)登用天下人才；(4)广泛采纳公议修改条约；(5)重新撰定法典；(6)扩充海军；(7)设置亲兵保卫帝都；(8)就金银物价制订与外国相等的法令。&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;简介&lt;BR&gt;　　&lt;BR&gt;&lt;BR&gt;　　日本明治维新时代的维新志士，倒幕维新运动活动家，思想家。1835年1月3日出生。原名直柔，别名才谷梅太郎。土佐藩出身，生于从豪商才谷屋分出来的商人乡士的家庭。1861年加入土佐勤王党，参加尊王攘夷运动。1862年入幕府军舰奉行胜海舟门下，受其开明思想影响。后经胜海舟介绍，结识西乡隆盛，并得到萨摩藩（今鹿儿岛县）的援助，于1863年在长崎龟山创建“社中”（又称龟山队），从事海运贸易，为倒幕派购入枪枝弹药及军粮。1866年奔走游说于萨摩藩、长州藩（今山口县）倒幕派之间，促致两藩于同年 3月缔结“萨长倒幕联盟”密约 。1867 年回土佐藩，改组“社中”，成立附属于藩的海援队，自任队长。海援队实际上成为倒幕派兵站。同年7月 10～13日 ，在从长崎到兵库（今神户市一区）的航行中，提出“船中八策”，强调政权归还天皇朝廷，并设想建立以天皇为中心的新的国家政权体制。经过他的努力 ，7月23～27日 ，又先后缔结萨摩、土佐两藩盟约（萨土盟约）和萨土艺三藩约定（艺即安艺，在今广岛县），进一步扩大了倒幕统一战线。后通过同藩的后藤象 二 郎说服藩主山内丰信 ，促其劝告幕府将军德川庆喜“奉还大政”。1867年12月10日夜，在京都与同藩倒幕派人士、陆援队队长中冈慎太郎商谈时，被刺客暗杀。&lt;BR&gt;[编辑本段]&lt;BR&gt;生平&lt;BR&gt;　　熟悉战国历史的朋友，一定记得明智光秀的封地中心是在坂本城。坂本姓氏，正是源之于此。&lt;BR&gt;　　明智光秀之婿明智秀满（左马之助），传说未死于山崎合战，而是逃到了土佐的长冈郡，四代至八兵卫，开了一家居酒屋“才谷屋”，六代至八郎兵卫，始取得乡士资格。八郎兵卫大名直益，正是坂本龙马（本名直柔）的祖父。&lt;BR&gt;　　坂本龙马天保六年11月15日（1836年1月3日）出身于土佐藩（位于日本四国岛，今高知县）高知城下上町（今高知市本丁筋一丁目）富裕乡士家庭。他的祖辈经营才谷屋酒店，出售清酒，后取得乡士身份，即出钱购买的武士阶层中最低的一种。其父坂本八平直足，母亲幸氏。据说其母怀孕时梦见云龙奔马在腹内飞腾，因而取名龙马。&lt;BR&gt;　　因此，龙马和其它大部分维新志士不同，一是身份低微，只是个乡士，再就是非常有钱（才谷屋是土佐数一数二的大商家）。&lt;BR&gt;　　1849年14岁时开始学习“小栗流”剑术。1853年（嘉永六年）北上江户学习“北辰一刀流”剑术，同时学习炮术。此时美国的佩里海军准将到日本递交国书要求开国通商，日本史称“黑船来航”。&lt;BR&gt;　　1855年，十九岁时去江户，在千叶周作门下学剑术，受培理来日一事的刺激，与水户攘夷论者交往。翌年回乡与河田小龙结识，立志于振兴海军和海外贸易，与近藤长次郎等结交。&lt;BR&gt;　　1858年（安政五年）在土佐学习洋式炮术。1861年（文久元年）加入武市瑞山倡导的土佐勤王党，活动于京坂和长州之间。1862年因反对土佐藩的政策而脱藩。&lt;BR&gt;　　1862年（文久二年）谋刺从美国学习海军军事归国的幕府开明派重臣胜海舟，被胜海舟的见解所倾倒。胜海舟告诉他在世界列强林立的时代，日本国内各藩相争毫无意义。坂本龙马拜胜海舟学习海军航海术。后参与组建神户海军操练所。同年在江户入幕府军舰奉行胜海舟门下，协助胜海舟，致力于建立幕府的神户海军操练所。幕府下令关闭海军操练所后，依靠西乡隆盛而得到萨摩藩的保护。一面在萨摩藩援助下与近藤长次郎等组织社中，从事海运和贸易。1864年（元治元年）随同胜海舟调停美、英、荷、法四国炮轰长州藩下关事件。&lt;BR&gt;　　1865年（庆应元年）应西乡隆盛、小松带刀之邀在萨摩藩长崎组建“龟山社中”。次年在坂本龙马等人的奔走调停下萨摩藩和长州藩的萨长同盟成立。1866年（庆应2年）斡旋缔结萨长同盟，成功地团结了倒幕派。第二次征伐长州时更为活跃，曾指挥长州藩的海军。 1867年土佐藩加入萨长阵营。龟山社中改编为“土佐海援队”，龙马为队长，自称“才谷梅太郎”。&lt;BR&gt;　　1867年结识后藤象二郎。脱藩之罪被赦免后。把社中改称海援队，扩大业务。坂本酝酿一个统一国家的设想，于1867年在“夕颜丸”上，坂本龙马把著名的“船中八策”（舟中八策）交给土佐参政后藤象二郎。船中八策奠定了明治维新的理论基础，成为日本新国家体制的基本方针。后藤象二郎将船中八策与藩主山内容堂交涉，并作为白皮书交于幕府将军德川庆喜手中，促成同年10月的奉还大政。11月9日，德川庆喜根据船中八策下达“大政奉还”指令，明治维新开始。&lt;BR&gt;　　一个月后，庆应三年11月15日（1867年12月10日）晚上9点左右，坂本龙马33岁生日时与中冈慎太郎在京都酱油商近江屋遇刺身亡。翌年以在坂本龙马斡旋下成立的萨长同盟为主力的官军击败幕府军，为日后的明治维新奠定了基础。&lt;BR&gt;[编辑本段]&lt;BR&gt;走在时代前面&lt;BR&gt;　　坂本龙马在日本人心目中的形象是不为过去所拘泥，永远走在时代的前面。一个小例子是坂本龙马曾经对土佐勤王党成员桧垣直治说：“今后在室内乱打乱斗的情况会多起来。我喜欢小太刀，小太刀灵活，比太刀实用［当时流行太刀］。”之后直治带了小太刀再见龙马，他却掏出来一柄手枪：“这个比小太刀更具威力。”坂本龙马拜胜海舟为师后，直治带了枪再见龙马，这次龙马掏出的是一部《万国公法》（一本国际法方面的书）：“手枪只能杀伤敌人，此书可以振兴日本！”&lt;BR&gt;　　西乡隆盛曾对坂本龙马说：“你前天所说的和今天所说的不一样，这样你怎么能取信于我呢。你作为天下名士必须有坚定的信念！”坂本说：“不是这样的。孔子说过，君子从时。时间在推移，社会形势在天天变化。因此，顺应时代潮流才是君子之道！西乡，你一旦决定一件事之后，就想贯彻始终。但这么做，将来你会落后于时代的。”&lt;BR&gt;[编辑本段]&lt;BR&gt;船中八策&lt;BR&gt;　　●大政奉还，天下政权奉还朝廷（指天皇，而不是幕府），政令出于朝廷。&lt;BR&gt;　　●设立议会。&lt;BR&gt;　　●招揽天下才俊，去除从前有名无实的官员。&lt;BR&gt;　　●通过广泛的公议订立和外国的交际。&lt;BR&gt;　　●折衷过去的法律，制定新的大典。&lt;BR&gt;　　●扩张海军。（坂本龙马因此被称为大日本帝国海军之父）&lt;BR&gt;　　●建立亲兵拱卫京师。&lt;BR&gt;　　●与外国订立平衡金银物价的法律。&lt;BR&gt;　　船中八策中的许多条文日后被原封不动地搬入明治宪法和各种法律中。&lt;BR&gt;[编辑本段]&lt;BR&gt;死因&lt;BR&gt;　　●新选组暗杀论：证据显示犯人会说四国方言且现场遗留有十番组组长原田左之助（四国人）的刀鞘。&lt;BR&gt;　　●见回组犯案论：在见回组组员家中发现斩杀龙马的刀及文件，一般认为佐佐木只三郎及六名刺客所为。&lt;BR&gt;　　●萨摩藩阴谋论：起因西乡隆盛不满龙马对武力倒幕态度趋於保守且策划大政奉还。&lt;BR&gt;[编辑本段]&lt;BR&gt;其他&lt;BR&gt;　　●坂本龙马第一个提出“日本国”的概念。&lt;BR&gt;　　●司马辽太郎著有历史小说《龙马来了》（《竜马がゆく》）。“龙”日文原文为“竜”。&lt;BR&gt;　　●日本位于南国市的高知市机场称为“高知龙马机场”，以纪念坂本龙马。&lt;BR&gt;　　●中国京剧院在1990年代移植改编了京剧《坂本龙马》。&lt;BR&gt;　　&lt;BR&gt;&lt;BR&gt;　　●坂本龙马是第一个带新娘蜜月旅行的日本人。&lt;BR&gt;　　&lt;BR&gt;&lt;BR&gt;　　&lt;BR&gt;[李光演坂本龙马(帅啊)]&lt;BR&gt;&lt;b&gt;李光演坂本龙马(帅啊)&lt;/b&gt;&lt;BR&gt;&lt;BR&gt;　　●荷兰酿制的「明治维新十二人组」啤酒中最受欢迎的一种是“坂本龙马”。它是美式啤酒，颜色淡黄，商标上还有坂本龙马的肖像。&lt;BR&gt;　　●坂本龙马是第一个以万国公法与外国公司打官司并且胜诉的日本人。&lt;BR&gt;[编辑本段]&lt;BR&gt;相关资料&lt;BR&gt;　　坂本龙马出生的时候正是幕府末年西方资本主义入侵，日本处于空前民族危机的时代。此时日本有识之土国防意识高涨，为了保卫日本，武士们重新开始修练武术，特别剑术一项一度复活，全日本的剑术馆又兴盛起来。青少年时的坂本也不例外，在住家附近的小栗派剑客日根野辩治的剑术馆学剑术。这里聚集着下级武士的子弟，毫无拘束，自由空气浓厚。&lt;BR&gt;　　1853年19岁的坂本到江户，进入京桥桶町的北辰一刀派千叶定吉的剑术馆进一步修剑术。他牢记父亲的告诫——不忘忠孝修行第一，不移心物质浪费金钱，不沾色情忘记国家大事，专心一致学本领。两年后终于取得老师的秘传证，并把户籍迁到千叶定吉剑术馆，定居江户。安政四年(1857)土佐藩主山内容堂在江户举办武术比赛会，数十名剑客参加比赛，坂本和岛田驹之助比赛获胜。&lt;BR&gt;　　当时的剑术馆不仅是练武场所，还是政治学校，来自各藩的青年议论国家大事，日本究竟如何对待外敌才好。他们为了证实自己的议论，遍历各国(藩)收集情报，再回到江户作为讨论的材料。土佐藩的武市瑞山、长州藩的高杉晋作和桂小五郎就是这样的青年。文久元年(1861)武市瑞山在江户的藩邸组织土佐勤王党，并回土佐扩大组织，有200多人参加，坂本是其中之一。1862年1月坂本代表土佐勤王党领袖武市瑞山到长州会见长州勤王党领袖久坂玄瑞，并探听天下形势。3月回藩以后便毅然脱离藩籍。&lt;BR&gt;　　当时脱藩是犯重罪，不但本人要处死，还牵连家族。因坂本脱藩，他的姊妹乙女不得不离婚，送名刀给坂本的姊姊荣自杀，兄权平花了很多钱总算免难。而他自己则离开土佐藩以后便成为一个职业革命家，然而生活的严峻考验在等待着他。&lt;BR&gt;　　幕末脱藩的人所走的唯一道路是暴动举兵，如掀起“天诛党之乱”的武力讨幕先驱者吉村寅太郎等，有强烈的功名心。但坂本脱藩不是为了功名，而是为了摆脱充满反动势力的土佐藩的束缚，思想和行动上获得自由。因此坂本脱藩后不跟吉村寅太郎走，而周游九州，经大阪到江户，拜见幕臣胜海舟，跟他学航海术。武市瑞山作诗赞叹他的果断的脱藩行动：&lt;BR&gt;　　肝胆元雄大，奇机自涌出。&lt;BR&gt;　　飞潜有谁识，偏不耻龙名。&lt;BR&gt;　　1863年8月18日政变以后，激进派三条美实等七公卿失势，尊王攘夷派被逐出京都。土佐藩的公武合体派(保守派)山内容堂镇压以武市瑞山为首的勤王党，武市被捕自杀。这是武市不能摆脱封建思想——对天皇、将军和大名尽忠的结果。坂本则与萨摩藩合作，创办龟山商社，专门从事萨长两藩之间的贸易、运输和购买武器船舶的业务，超越了武市瑞山的“一藩勤皇主义”。&lt;BR&gt;　　坂本生平崇拜老子，自称“自然堂”。他从老子那里接受了虚无主义，即把自己看成空的。老子的“回到自然，人在无或空之中才有存在的意义”这一种想法最引起坂本的注意。&lt;BR&gt;　　这种无欲和否定自己的精神具体表现在“不希望别人评价”或“不合别人的评价”，正如他的老师胜海舟所说“行动在于我，评价在于他人，与我无关”。1867年向后藤象二郎吐露“船中八策”的时候，坂本没有自夸这是我想出来的，因此山内容堂的宠臣后藤进言时，把它作为土佐藩的藩论，并进一步发展为对幕府的大政奉还建议书。此事连当时和后藤一起参加大政奉还运动并起草“五条誓文”的福冈孝弟也不知道，到后来才明白“船中八策”是坂本龙马想出来的方案。这是坂本智虑深远，如果不完全当作后藤自己的创造，山内容堂不会接受。这就是他的“不希望别人评价”而自由发挥思想所起的作用。&lt;BR&gt;　　坂本龙马思想的进步在于抛弃了狭隘的“一藩勤王主义”，和单纯的尊王攘夷思想诀别，既不是攘夷又不是开国，而是超越这两个概念，把眼睛朝向碧绿的海洋，即富国强兵才是当前员迫切的任务。因此他1862年到江户，不是去杀开国论者胜海舟，而是去受他的感化和教育。因为胜海舟已在两年前乘“咸临丸”去过美国，了解近代资本主义国家的政治、经济和社会。&lt;BR&gt;　　坂本龙马在胜海舟的保护下进了神户海军操练所(类似现在的国立海军大学或商船大学)，并成了该所的领导人(塾头)。但是元治元年(1864)胜海舟因部分学生作为反幕军参加“禁门之变”被罢职，海军操练所也于庆应元年(1865)关闭。&lt;BR&gt;　　于是坂本龙马和操练所的学生在长崎成立龟山商社，专门从事萨长两藩的交通运输和进口军火的业务。建立商社虽然是为了生活，但对坂本来说，倒幕与其说是政治斗争不如说是经济斗争，也就是说雄藩要将当时被幕府垄断的贸易夺过来，瓦解幕藩体制，然后重新组织新政府。&lt;BR&gt;　　1867年以龟山商社为基础成立海援队，坂本龙马为队长，其下设置文官、武官、器械宫、运输官、医官等，成为土佐藩的一个商会。因此土佐藩也赦免了坂本的脱藩罪。&lt;BR&gt;　　坂本心中的海援队不是单纯为土佐藩的利益而设，而是凝缩象征大政奉还后按新体制成立的日本国家的政策方针。坂本的一切思想都寄托于海援队，后来他对岩仓具视说它是“世界的海授队”。&lt;BR&gt;　　海援队的规则第一条说，“凡有志于海事的我藩或他藩的脱藩者均可人队。本队的目的在于以运输、商业、开发、投机等帮助我藩，今后队员的选拔不论出身如何，一律按本人的志愿办事”。这样海援队成了所谓脱藩者——自由人的团体，同时也是一个不拘身份的组织。这方面不仅是与幕藩体制的阶级社会相对立，而且创立了一个没有等级身份的社会组织。这点与后来明治维新成立的藩阀政府相距甚远，坂本龙马的理想消失得无影无踪了。&lt;BR&gt;　　萨长两藩为争夺全国政局的领导权发生不和，经坂本龙马从中斡旋，1866年1月长州的木户孝允和萨摩的西乡隆盛、小松带刀在京都缔结“萨长同盟”，一致结集倒幕势力，准备武装推翻幕府。但是武力倒幕，外国必然乘内乱之机进行侵略。为了确保日本的独立，不让列强像中国一样蹂躏领土，必须避免内战。后藤象二郎对坂本龙马的这种见解很赏识，问他有什么秘策?&lt;BR&gt;　　“秘策并非没有，那就是让德川氏将政权奉还朝廷。”&lt;BR&gt;　　“什么?”连后藤也直翻白眼了，但立即转过脑筋来，“的确，如果那样的话，萨长两藩既不会起来，战火又可以避免，同时英法两国也垂头丧气了。不过佐幕派恐怕不会沉默吧。”&lt;BR&gt;　　“可以重新让德川庆喜做大臣。”&lt;BR&gt;　　“如果那样的话不是与现在没有多大不同吗?”&lt;BR&gt;　　“不，不问公卿、诸侯、武士、庶民，让天下的人才都参加议会和国政。”&lt;BR&gt;　　终于后藤领会了坂本的奇策——避免内乱，使列强无危机可乘，而且还贯彻了萨长两强藩的主张，同时幕府也不负致命伤，这样土佐藩更能发挥领导作用。这岂止是一箭双雕，还是一箭四雕的好策略。&lt;BR&gt;　　“懂了，就这样做吧!不，只有这样。明天藩船‘夕颜丸’进京，跟我一起去，我想在船中将你的话重新整理成文件。”后藤象二郎说。&lt;BR&gt;　　在“夕颜九”上，海援队文官长冈谦将坂本的设想记录下来，那就是所谓“船中八策 ”——(1)奉还政权；(2)设上下议政局；(3)登用天下人才；(4)广泛采纳公议修改条约；(5)重新撰定法典；(6)扩充海军；(7)设置亲兵保卫帝都；(8)就金银物价制订与外国相等的法令。&lt;BR&gt;　　这一个新的政权设想大纲，四个月以后作为“大政奉还”实现，而且还发展为1868年的《五条誓文》——(1)广兴会议决万机于公论；(2)上下一心盛行经论；(3)官武一途迄至庶民各遂其志；(4)破旧来之陋习，基天地之公道；(5)求知识于世界，大振皇基。&lt;BR&gt;　　坂本龙马之伟大在于勤王与佐幕或开国与攘夷的国家政论的分裂中作出达到革命目的的战略设想，而且描绘出革命后的政体大纲。然而，后藤因实现大政奉还而受到藩主山内容堂的奖赏，到明治期才知道这是坂本的创见。再者坂本的船中八策本来很具体，后来发展到五条誓文便变得十分抽象了。在藩阀统治时代，他的民主主义政治设想更是成了泡影。&lt;BR&gt;　　庆应三年(1867)11月15日晚上，天气特别寒冷，北风呼啸，连人们走路也要小跑步。&lt;BR&gt;　　京都四条河原町的土佐藩人经常出入的酱油店“近江屋”二楼，坂本龙马和来客陆援队长中冈慎太郎(幕末志士，生于1838年，死于1867年)在争论。这天俩人的争论特别激烈，因为坂本主张和平演变，中冈则主张武力倒幕。&lt;BR&gt;　　“石川(中冈慎太郎的别名)呀，如果把刀放在旁边，大家就不知该怎么干了，远离刀讨论不好吗?”坂本对中冈建议说。&lt;BR&gt;　　“行，就这样干吧!”中冈回答。于是俩人为了避免发生冲突而动武，双方都把刀放在地板间里手够不到的地方。这就埋下了俩人的死因。&lt;BR&gt;　　“天较冷吧，肚子又饿，今天是我生日，我们来喝一杯吧，峰吉呀，给我买点鸡来。 ”坂本对中冈说。小仆人蜂吉出去买鸡的时候已经是晚上9点左右了。不久楼下有人来访，在坂本身边照料的山田藤吉开了正门，见两个蒙面武士站着。他们很有礼貌地说：“坂本先生在吗?我叫十律川，如果在的话想见一下。”接着便出示了名片。藤吉知道坂本和中冈两个人朋友很多，毫不怀疑地接过名片将他们引入屋里。藤吉正要上楼，不料被跟在后面的刺客砍了一刀，流血倒在地上。&lt;BR&gt;　　两名刺客直奔楼上，像疾风一样跑到屋里。一名刺客从背后对准坐在前面的中冈砍了一刀，另一名刺客对准坐在火盆前的坂本前额横扫一刀。受伤的坂本转身要想去拿放在地板间里的爱刀“吉行”时，左右两肩又吃了两刀。刺客正要再砍时，被坂本用末及出鞘的刀挡住，刀身被斩断，接着刺客又在坂本前额扫了一刀，鲜血直溅到墙上的《山茶花》挂轴上，脑浆直流。坂本喊道“脑袋破了”，“石川，刀刀……”便昏倒过去。&lt;BR&gt;　　中冈听到坂本在叫自己的别名“石川”，但因长刀在书画屏风后面，只得用信国短刀和刺客交战，不料又被刺客加了几刀，倒在地上。两名刺客说一声“已经行了，已经行了”，扬长而去。&lt;BR&gt;　　刺客离开后，坂本一时苏醒过来，一面拔刀一面朝着满脸鲜血的中冈问道：“手还顶用吗？”提着灯笼爬到楼梯边，一面往下看一面喊家人，大量鲜血流到楼下。&lt;BR&gt;　　约半小时不到，峰吉提着买来的鸡回来了，见到如此惨状吓昏了过去。坂本当天晚上死去(32岁)，受六处重伤的藤吉次日晚上死去(25岁)，中冈两天后(17日)的晚上死去(30岁)。18日下午2点，三口棺材在陆海援队员及在京的土佐藩同志护送下，从近江屋抬到东山之麓灵山墓地安葬。&lt;BR&gt;　　坂本龙马的最大功绩是促使长萨同盟成立和提出大政奉还的方案。前者是团结一切反幕府的力量，以军事为后盾实行武力倒幕；后者是从避免内战不使列强乘机侵略日本的观点出发，实行无血革命。前者为后者制造压力，迫使幕府接受“大政奉还 ”。这样说来，坂本便是主张向幕府妥协的无血革命了。不，他不是单纯反战主义者，当然也不是胆怯者。他之所以不醉心于革命战争是出于冷静的态度，这点从他的实际行动可以证明。1866年幕府发动的第二次征伐长州的战争中，他站在长州藩方面参战，驾驶“联盟号”帮助高杉晋作，和强大而数多的幕舰开战。圾本所害怕的是内战持久会给外国侵略者有机可乘，同时实行大政奉还可以避免长萨两藩专权的藩阀政治。&lt;BR&gt;　　庆应三年(1867)10月13日幕府在京都三条城召集40藩讨论应否采纳山内容堂的大政奉还建议书的时候，坂本对后藤象二郎表示了不怕牺牲的决心：&lt;BR&gt;　　“大政奉还万一不成功……为国家报不共戴天之仇，不管事情成败，在地下见面吧。”由此可见，坂本不是纯粹主张和平演变的人。&lt;BR&gt;　　实现大政奉还只是坂本的第一步，他还提出了维新以后的政治方针——君主立宪、中央集权、富国强兵，这点对维新以后的政治影响极大。&lt;BR&gt;　　坂本的自由主义精神极强，他认为人要创造性地劳动和生活，首先必须解放心灵的束缚。他的脱藩是为了自由，不是为了功名利禄，其根源是出于无欲和否定自己。入都有欲望，认为自己最好，但他恰恰相反，这点不能不说他的人格高尚。坂本曾对岩仓具视提出过大政奉还以后新的政治机构方案和领导人名单，其中没有他自己的名字。因此岩仓问：&lt;BR&gt;　　“你的名字没有放进去吧!”&lt;BR&gt;　　“ 我无论如何也是个公务员。”坂本回答。&lt;BR&gt;　　“那么今后究竟干什么呢7”岩仓笑着问。&lt;BR&gt;　　“干点世界海援队嘛!”坂本大笑说。 &lt;img src ="http://blog.vckbase.com/bastet/aggbug/36631.html" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Diviner</dc:creator><title>奥巴马获胜演讲全文(转贴)</title><link>http://blog.vckbase.com/bastet/archive/2008/11/09/35604.html</link><pubDate>Sun, 09 Nov 2008 07:01:00 GMT</pubDate><guid>http://blog.vckbase.com/bastet/archive/2008/11/09/35604.html</guid><wfw:comment>http://blog.vckbase.com/bastet/comments/35604.html</wfw:comment><comments>http://blog.vckbase.com/bastet/archive/2008/11/09/35604.html#Feedback</comments><slash:comments>4</slash:comments><wfw:commentRss>http://blog.vckbase.com/bastet/comments/commentRss/35604.html</wfw:commentRss><trackback:ping>http://blog.vckbase.com/bastet/services/trackbacks/35604.html</trackback:ping><description>&lt;H1 class=articleTitle id=headline style="FONT-SIZE: 22px; MARGIN: 5px 0px"&gt;&amp;nbsp;&lt;/H1&gt;
&lt;DIV style="PADDING-RIGHT: 0px; PADDING-LEFT: 0px; FONT-WEIGHT: bolder; FONT-SIZE: 12px; PADDING-BOTTOM: 0px; PADDING-TOP: 12px; FONT-FAMILY: times new roman"&gt;
&lt;DIV style="FLOAT: right"&gt;&lt;SPAN id=SwitchL&gt;&lt;IMG style="WIDTH: 298px; HEIGHT: 0px" src="http://chinese.wsj.com/gb/img/b.gif"&gt;&lt;SPAN style="FONT-SIZE: 14px"&gt;&lt;A class=unvisited id=LLL title=双语阅读切换 href="javascript:SwitchL(this)"&gt;英&lt;/A&gt; | &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="FONT-SIZE: 14px"&gt;&lt;A class=unvisited href="javascript:ChangeFont(22)"&gt;大&lt;/A&gt; | &lt;A class=unvisited href="javascript:ChangeFont(18)"&gt;中&lt;/A&gt; | &lt;A class=unvisited href="javascript:ChangeFont(14)"&gt;小&lt;/A&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;SPAN class=aTime id=T&gt;2008年11月05日17:23&lt;/SPAN&gt;&lt;BR&gt;&lt;/DIV&gt;
&lt;DIV class=times id=A style="FONT-SIZE: 14px; MARGIN: 16px 0px 0px; LINE-HEIGHT: 140%"&gt;&lt;!content_tag txt&gt;
&lt;DIV style="BORDER-RIGHT: #000000 0px solid; PADDING-RIGHT: 0px; BORDER-TOP: #000000 0px solid; PADDING-LEFT: 0px; FONT-WEIGHT: bolder; FONT-SIZE: 28px; FLOAT: left; PADDING-BOTTOM: 0px; MARGIN: 0px; BORDER-LEFT: #000000 0px solid; WIDTH: 28px; COLOR: #990000; LINE-HEIGHT: 140%; PADDING-TOP: 0px; BORDER-BOTTOM: #000000 0px solid"&gt;以&lt;/DIV&gt;下是奥巴马(Barack Obama)为今晚在芝加哥演讲准备的讲稿：&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;如果还有人对美国是否凡事都有可能存疑，还有人怀疑美国奠基者的梦想在我们所处的时代是否依然鲜活，还有人质疑我们的民主制度的力量，那么今晚，这些问题都有了答案。&lt;BR&gt;&lt;BR&gt;这是设在学校和教堂的投票站前排起的前所未见的长队给出的答案；是等了三四个小时的选民所给出的答案，其中许多人都是有生以来第一次投票，因为他们认定这一次肯定会不一样，认为自己的声音会是这次大选有别于以往之所在。&lt;BR&gt;&lt;BR&gt;这是所有美国人民共同给出的答案－－无论老少贫富，无论是民主党还是共和党，无论是黑人、白人、拉美裔、亚裔、原住民，是同性恋者还是异性恋者、残疾人还是健全人－－我们从来不是&amp;#8220;红州&amp;#8221;和&amp;#8220;蓝州&amp;#8221;的对立阵营，我们是美利坚合众国这个整体，永远都是。&lt;BR&gt;&lt;BR&gt;长久以来，很多人一再受到告诫，要对我们所能取得的成绩极尽讽刺、担忧和怀疑之能事，但这个答案让这些人伸出手来把握历史，再次让它朝向美好明天的希望延伸。&lt;BR&gt;&lt;BR&gt;已经过去了这么长时间，但今晚，由于我们在今天、在这场大选中、在这个具有决定性的时刻所做的，美国已经迎来了变革。&lt;BR&gt;&lt;BR&gt;我刚刚接到了麦凯恩参议员极具风度的致电。他在这场大选中经过了长时间的努力奋斗，而他为自己所深爱的这个国家奋斗的时间更长、过程更艰辛。他为美国做出了我们大多数人难以想像的牺牲，我们的生活也因这位勇敢无私的领袖所做出的贡献而变得更美好。我向他和佩林州长所取得的成绩表示祝贺，我也期待着与他们一起在未来的岁月中为复兴这个国家的希望而共同努力。&lt;BR&gt;&lt;BR&gt;&lt;SPAN id=NewAd&gt;&lt;/SPAN&gt;我要感谢我在这次旅程中的伙伴－－已当选美国副总统的拜登。他全心参与竞选活动，为普通民众代言，他们是他在斯克兰顿从小到大的伙伴，也是在他回特拉华的火车上遇到的男男女女。&lt;BR&gt;&lt;BR&gt;如果没有一个人的坚决支持，我今晚就不会站在这里，她是我过去16年来最好的朋友、是我们一家人的中坚和我一生的挚爱，更是我们国家的下一位第一夫人：米歇尔&amp;#183;奥巴马(Michelle Obama)。萨莎(Sasha)和玛丽亚(Malia)，我太爱你们两个了，你们已经得到了一条新的小狗，它将与我们一起入驻白宫。虽然我的外祖母已经不在了，但我知道她与我的亲人肯定都在看着我，因为他们，我才能拥有今天的成就。今晚，我想念他们，我知道自己欠他们的无可计量。&lt;BR&gt;&lt;BR&gt;我的竞选经理大卫&amp;#183;普劳夫(David Plouffe)、首席策略师大卫&amp;#183;艾克斯罗德(David Axelrod)以及政治史上最好的竞选团队－－是你们成就了今天，我永远感激你们为实现今天的成就所做出的牺牲。&lt;BR&gt;&lt;BR&gt;但最重要的是，我永远不会忘记这场胜利真正的归属－－它属于你们。&lt;BR&gt;&lt;BR&gt;我从来不是最有希望的候选人。一开始，我们没有太多资金，也没有得到太多人的支持。我们的竞选活动并非诞生于华盛顿的高门华第之内，而是始于得梅因、康科德、查尔斯顿这些地方的普通民众家中。&lt;BR&gt;&lt;BR&gt;我们的竞选活动能有今天的规模，是因为辛勤工作的人们从自己的微薄积蓄中拿出钱来，捐出一笔又一笔5美元、10美元、20美元。而竞选活动的声势越来越大则是源自那些年轻人，他们拒绝接受认为他们这代人冷漠的荒诞说法；他们离开家、离开亲人，从事报酬微薄、极其辛苦的工作；同时也源自那些已经不算年轻的人们，他们冒着严寒酷暑，敲开陌生人的家门进行竞选宣传；更源自数百万的美国民众，他们自动自发地组织起来，证明了在两百多年以后，民有、民治、民享的政府并未从地球上消失。这是你们的胜利。&lt;BR&gt;&lt;BR&gt;我知道你们的所做所为并不只是为了赢得大选，我也知道你们做这一切并不是为了我。你们这样做是因为你们明白摆在面前的任务有多艰巨。因为即便我们今晚欢呼庆祝，我们也知道明天将面临我们一生之中最为艰巨的挑战－－两场战争、一个面临危险的星球，还有百年来最严重的金融危机。今晚站在此地，我们知道伊拉克的沙漠里和阿富汗的群山中还有勇敢的美国子弟兵醒来，甘冒生命危险保护着我们。会有在孩子熟睡后仍难以入眠的父母，担心如何偿还月供、付医药费或是存够钱送孩子上大学。我们亟待开发新能源、创造新的工作机会；我们需要修建新学校，还要应对众多威胁、修复与许多国家的关系。&lt;BR&gt;&lt;BR&gt;前方的道路会十分漫长艰辛。我们可能无法在一年甚至一届任期之内实现上述目标，但我从未像今晚这样满怀希望，相信我们会实现。我向你们承诺－－我们作为一个整体将会达成目标。&lt;BR&gt;&lt;BR&gt;我们会遭遇挫折和不成功的开端。对于我作为总统所做的每项决定和政策，会有许多人持有异议，我们也知道政府并不能解决所有问题。但我会向你们坦陈我们所面临的挑战。我会聆听你们的意见，尤其是在我们意见相左之时。最重要的是，我会请求你们参与重建这个国家，以美国221年来从未改变的唯一方式－－一砖一瓦、胼手胝足。&lt;BR&gt;&lt;BR&gt;21个月前那个寒冬所开始的一切不应该在今天这个秋夜结束。今天的选举胜利并不是我们所寻求的改变－－这只是我们实现改变的机会。而且如果我们仍然按照旧有方式行事，我们所寻求的改变不可能出现。没有你们，也不可能有这种改变。&lt;BR&gt;&lt;BR&gt;因此，让我们发扬新的爱国精神，树立新的服务意识和责任感，让我们每个人下定决心全情投入、更加努力地工作，并彼此关爱。让我们铭记这场金融危机带来的教训：我们不可能在金融以外的领域备受煎熬的同时拥有繁荣兴旺的华尔街－－在这个国家，我们患难与共。&lt;BR&gt;&lt;BR&gt;让我们抵制重走老路的诱惑，避免重新回到长期荼毒美国政治的党派纷争和由此引发的遗憾和不成熟表现。让我们牢记，正是伊利诺伊州的一名男子首次将共和党的大旗扛到了白宫。共和党是建立在自强自立、个人自由以及全民团结的价值观上，这也是我们所有人都珍视的价值。虽然民主党今天晚上赢得了巨大的胜利，但我们是以谦卑的态度和弥合阻碍我们进步的分歧的决心赢得这场胜利的。林肯在向远比我们眼下分歧更大的国家发表讲话时说，我们不是敌人，而是朋友&amp;#8230;&amp;#8230;虽然激情可能褪去，但是这不会割断我们感情上的联系。对于那些现在并不支持我的美国人，我想说，或许我没有赢得你们的选票，但是我听到了你们的声音，我需要你们的帮助，而且我也将是你们的总统。&lt;BR&gt;&lt;BR&gt;那些彻夜关注美国大选的海外人士，从国会到皇宫，以及在这个世界被遗忘的角落里挤在收音机旁的人们，我们的经历虽然各有不同，但是我们的命运是相通的，新的美国领袖诞生了。那些想要颠覆这个世界的人们，我们必将击败你们。那些追求和平和安全的人们，我们支持你们。那些所有怀疑美国能否继续照亮世界发展前景的人们，今天晚上我们再次证明，我们国家真正的力量并非来自我们武器的威力或财富的规模，而是来自我们理想的持久力量：民主、自由、机会和不屈的希望。&lt;BR&gt;&lt;BR&gt;这才是美国真正的精华－－美国能够改变。我们的联邦会日臻完善。我们取得的成就为我们将来能够取得的以及必须取得的成就增添了希望。&lt;BR&gt;&lt;BR&gt;这次大选创造了多项&amp;#8220;第一&amp;#8221;，也诞生了很多将世代流传的故事。但是今天晚上令我难忘的却是在亚特兰大投票的一名妇女：安&amp;#183;尼克松&amp;#183;库波尔(Ann Nixon Cooper)。她和其他数百万排队等待投票的选民没有什么差别，除了一点：她已是106岁的高龄。&lt;BR&gt;&lt;BR&gt;她出生的那个时代奴隶制度刚刚结束；那时路上没有汽车，天上也没有飞机；当时像她这样的人由于两个原因不能投票－－一是她是女性，另一个原因是她的肤色。&lt;BR&gt;&lt;BR&gt;今天晚上，我想到了她在美国过去一百年间所经历的种种：心痛和希望；挣扎和进步；那些我们被告知我们办不到的世代，以及那些坚信美国信条──是的，我们能做到──的人们。&lt;BR&gt;&lt;BR&gt;曾几何时，妇女没有发言权，她们的希望化作泡影，但是安&amp;#183;尼克松&amp;#183;库波尔活了下来，看到妇女们站了起来，看到她们大声发表自己的见解，看到她们去参加大选投票。是的，我们能做到。&lt;BR&gt;&lt;BR&gt;当30年代的沙尘暴和大萧条引发人们的绝望之情时，她看到一个国家用罗斯福新政、新就业机会以及对新目标的共同追求战胜恐慌。是的，我们能做到。&lt;BR&gt;&lt;BR&gt;当炸弹袭击了我们的海港、独裁专制威胁到全世界，她见证了美国一代人的伟大崛起，见证了一个民主国家被拯救。是的，我们能做到。&lt;BR&gt;&lt;BR&gt;她见证了蒙哥马利公车上的种族隔离、伯明翰的民权运动、塞尔马大桥上的人权游行，一位来自亚特兰大的传教士告诉人们：我们能成功。是的，我们能做到。&lt;BR&gt;&lt;BR&gt;人类登上月球、柏林墙倒下，世界因我们的科学和想像被连接在一起。今年，就在这次选举中，她用手指触碰屏幕投下自己的选票，因为在美国生活了106年之后，经历了最好的时光和最黑暗的时刻之后，她知道美国如何能够发生变革。是的，我们能做到。&lt;BR&gt;&lt;BR&gt;美国，我们已经走过漫漫长路。我们已经历了很多。但是我们仍有很多事情要做。因此今夜，让我们自问－－如果我们的孩子能够活到下个世纪；如果我们的女儿有幸活得和安一样长，他们将会看到怎样的改变？我们将会取得怎样的进步？&lt;BR&gt;&lt;BR&gt;现在是我们回答这个问题的机会。这是我们的时刻。这是我们的时代－－让我们的人民重新就业，为我们的后代敞开机会的大门；恢复繁荣发展，推进和平事业；让&amp;#8220;美国梦&amp;#8221;重新焕发光芒，再次证明这样一个基本的真理：我们是一家人；一息尚存，我们就有希望；当我们遇到嘲讽和怀疑，当有人说我们办不到的时候，我们要以这个永恒的信条来回应他们：&lt;BR&gt;&lt;BR&gt;是的，我们能做到。感谢你们。愿上帝保佑你们，保佑美利坚合众国。&lt;/DIV&gt;&lt;img src ="http://blog.vckbase.com/bastet/aggbug/35604.html" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Diviner</dc:creator><title>新蜜蜂的寓言（转贴）</title><link>http://blog.vckbase.com/bastet/archive/2008/11/03/35535.html</link><pubDate>Mon, 03 Nov 2008 00:40:00 GMT</pubDate><guid>http://blog.vckbase.com/bastet/archive/2008/11/03/35535.html</guid><wfw:comment>http://blog.vckbase.com/bastet/comments/35535.html</wfw:comment><comments>http://blog.vckbase.com/bastet/archive/2008/11/03/35535.html#Feedback</comments><slash:comments>1</slash:comments><wfw:commentRss>http://blog.vckbase.com/bastet/comments/commentRss/35535.html</wfw:commentRss><trackback:ping>http://blog.vckbase.com/bastet/services/trackbacks/35535.html</trackback:ping><description>企业公民&amp;#8221;（Corporate Citizenship）和&amp;#8220;企业社会责任&amp;#8221;（Corporate Social Responsibility）在中国商业世界正成为时尚话题。 
&lt;TABLE cellSpacing=0 cellPadding=0 align=left border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD vAlign=top&gt;
&lt;TABLE height=250 cellSpacing=4 cellPadding=0 width=350 border=0&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD align=left width=350 height=250&gt;
&lt;DIV id=_turnAD12 width="350" height="250"&gt;
&lt;OBJECT id=_bflexO height=250 width=350 classid=clsid:D27CDB6E-AE6D-11cf-96B8-444553540000&gt;&lt;PARAM NAME="_cx" VALUE="9260"&gt;&lt;PARAM NAME="_cy" VALUE="6615"&gt;&lt;PARAM NAME="FlashVars" VALUE=""&gt;&lt;PARAM NAME="Movie" VALUE="http://images.sohu.com/cs/button/yiqi/200609/3502500918.swf"&gt;&lt;PARAM NAME="Src" VALUE="http://images.sohu.com/cs/button/yiqi/200609/3502500918.swf"&gt;&lt;PARAM NAME="WMode" VALUE="Transparent"&gt;&lt;PARAM NAME="Play" VALUE="-1"&gt;&lt;PARAM NAME="Loop" VALUE="-1"&gt;&lt;PARAM NAME="Quality" VALUE="High"&gt;&lt;PARAM NAME="SAlign" VALUE=""&gt;&lt;PARAM NAME="Menu" VALUE="-1"&gt;&lt;PARAM NAME="Base" VALUE=""&gt;&lt;PARAM NAME="AllowScriptAccess" VALUE=""&gt;&lt;PARAM NAME="Scale" VALUE="ShowAll"&gt;&lt;PARAM NAME="DeviceFont" VALUE="0"&gt;&lt;PARAM NAME="EmbedMovie" VALUE="0"&gt;&lt;PARAM NAME="BGColor" VALUE=""&gt;&lt;PARAM NAME="SWRemote" VALUE=""&gt;&lt;PARAM NAME="MovieData" VALUE=""&gt;&lt;PARAM NAME="SeamlessTabbing" VALUE="1"&gt;&lt;PARAM NAME="Profile" VALUE="0"&gt;&lt;PARAM NAME="ProfileAddress" VALUE=""&gt;&lt;PARAM NAME="ProfilePort" VALUE="0"&gt;&lt;PARAM NAME="AllowNetworking" VALUE="all"&gt;&lt;PARAM NAME="AllowFullScreen" VALUE="false"&gt;&lt;/OBJECT&gt;&lt;/DIV&gt;
&lt;SCRIPT language=javascript&gt; 
 try{ 
 var __bDIV = document.getElementById("_turnAD12"); 
 var _coName = "_turnAD12"; 
 var __now = new Date(); 
 var _exp = new Date(); 
 _exp.setTime(_exp.getTime() + parseInt(24*60*60*1000)); 
 function bannerSetCookie(_Name,_Value){ 
 var _argv = bannerSetCookie.arguments; 
 var _argc = bannerSetCookie.arguments.length; 
 var _expires = (_argc &gt; 2) ? _argv[2]: null; 
 var _path = (_argc &gt; 3) ? _argv[3]: null; 
 var _domain = (_argc &gt; 4) ? _argv[4]: null; 
 var _secure = (_argc &gt; 5) ? _argv[5]: false; 
 document.cookie = _Name + "=" + escape(_Value) + ((_expires == null) ? "" : (  
 "; expires=" + _expires.toGMTString())) + ((_path == null) ? "" : (  
 "; path=" + _path)) + ((_domain == null) ? "" : ("; domain=" + _domain)) + ((_secure == true) ? "; secure" : "");; 
 } 
 function bannerGetCookie(_Name){ 
 var _s_co = document.cookie; 
 var _s_coVal = _s_co.indexOf(_Name)==-1 ? 0 : _s_co.substring(parseInt(_Name.length+parseInt(_s_co.indexOf(_Name)))+1,parseInt(_Name.length+parseInt(_s_co.indexOf(_Name)))+3); 
 return unescape(_s_coVal); 
 } 
 function getRandom(_ADnum){ 
 return Math.ceil(Math.random()*_ADnum); 
 } 
 function showBanner(){ 
 var ADnum=2; 
 var basenum=0; 
 var _sBanner = bannerGetCookie(_coName); 
 if(parseInt(_sBanner,10)==0){ 
 basenum = getRandom(ADnum); 
 bannerSetCookie(_coName,parseInt(basenum,10)&lt;10?"0"+String(parseInt(basenum,10)):String(parseInt(basenum,10)),_exp); 
 } 
 else if(parseInt(_sBanner,10)&gt;ADnum-1) {basenum=1;bannerSetCookie(_coName,"01",_exp);} 
 else { 
 basenum=parseInt(_sBanner,10)+1; 
 bannerSetCookie(_coName,parseInt(basenum,10)&lt;10?"0"+String(parseInt(basenum,10)):String(parseInt(basenum,10)),_exp); 
 } 
 var _sBnn; 
if (basenum==1){ 
var sohuFlash2 = new sohuFlash("http://images.sohu.com/cs/button/yiqi/200609/3502500918.swf", "_bflexO", "350", "250", "7"); 
sohuFlash2.addParam("quality", "high"); 
  sohuFlash2.addParam("wmode", "transparent"); 
 sohuFlash2.addVariable("clickthru","http://ngoto.sohu.com/D=SOHU/A=e6310f671d65559e44d1089e1306bd88/T=K1/&gt;http://ad.bitauto.com:80/adsunion/lnk/;ik=450f6516d398e;pl=pl-34-325;/?http://www.faw-benteng.com"); 
  sohuFlash2.write("_turnAD12"); 
 } 
else{ 
var sohuFlash2 = new sohuFlash("http://images.sohu.com/cs/button/gonghang/200611/bizpip1107.swf", "_bflexO", "350", "250", "7"); 
sohuFlash2.addParam("quality", "high"); 
  sohuFlash2.addParam("wmode", "Opaque"); 
 sohuFlash2.addVariable("clickthru",""); 
  sohuFlash2.write("_turnAD12"); 
 } 
} showBanner(); 
 }catch(e){} 
 &lt;/SCRIPT&gt;
&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/TD&gt;&lt;/TR&gt;
&lt;TR&gt;
&lt;TD&gt;
&lt;TABLE&gt;
&lt;TBODY&gt;
&lt;TR&gt;
&lt;TD&gt;&lt;IFRAME marginWidth=0 marginHeight=0 src="http://images.sohu.com/cs/button/ls/piplink.html" frameBorder=0 width=350 scrolling=no height=52 bordercolor="#000000"&gt;&lt;/IFRAME&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;正如我们屡屡见到的，一种严肃的话题被通俗化，不是其幸运反而可能是其被庸俗化的开端。无论其本身的内涵如何丰富，一个话题一旦成为人们在不明所以中竞相谈论的话题，或者将与之无关的东西附会其上，那么它不仅不会变成一种普遍的共识，而且可能在被过度谈论中迅速变得空洞无趣，直至成为一个人所共知的笑柄。
&lt;P&gt;　　但真正的危险还不在这里。&amp;#8220;企业公民&amp;#8221;和&amp;#8220;企业社会责任&amp;#8221;不是（至少不仅仅是）企业有余钱余物时向公众示好买好的捐款捐物，不是以&amp;#8220;转移支付&amp;#8221;方式巧妙变相的&amp;#8220;事件营销&amp;#8221;，更不是问心有愧的企业和商人为洗白自己或包装自己而进行的&amp;#8220;非常投资&amp;#8221;。正如老子所言：&amp;#8220;天下皆知善之为善者，斯恶也。&amp;#8221;当&amp;#8220;企业公民&amp;#8221;和&amp;#8220;企业社会责任&amp;#8221;行为被作为一种善行来提倡时，诸多的恶行或与善恶无关的行为很可能&amp;#8220;假汝之名而行&amp;#8221;。这就是企业公民面临的真正的危险&amp;#8212;&amp;#8212;成为&amp;#8220;伪善&amp;#8221;的代名词，最终让人们避而远之。&lt;/P&gt;
&lt;P&gt;　　作为一种商业伦理，企业公民要想成为商业世界普遍的共识，它一定不能作为一种外在的规范来提倡。道德说教只能导致对伪善和对道德的抵触。只有当企业家意识到企业公民行为与企业家自身的需求和企业日常的经营活动有一种内在的、隐秘的关联时，企业公民才可能成为企业家们内在的共识。&lt;/P&gt;
&lt;P&gt;　　&amp;#8220;敖包&amp;#8221;是怎样建成的？&lt;/P&gt;
&lt;P&gt;　　在内蒙古草原上，有一种名叫&amp;#8220;敖包&amp;#8221;的&amp;#8220;建筑&amp;#8221;。其实它很难称得上是&amp;#8220;建筑&amp;#8221;，因为它看上去不过是一堆石头而已。这种不是建筑的建筑因为一首名为《敖包相会》的蒙古民歌而名扬天下，但知道其用途和&amp;#8220;建筑&amp;#8221;过程的人并不多。&lt;/P&gt;
&lt;P&gt;　　事实上，这是蒙古草原上的一种重要的公共基础设施。在人烟稀少的草原上行走，人是很容易迷失方向的，因为草原上除了草还是草，没有大树，没有村落（人们都是逐水草而居）来充当地标。这种状况与船在大海上航行非常相似。为了在大海上顺利航行，人类发明了作为导航设备的灯塔，而敖包就是蒙古民族在茫茫草原上建成的&amp;#8220;灯塔&amp;#8221;。&lt;/P&gt;
&lt;P&gt;　　蒙古草原上无数的敖包是如何建起来的呢？我们容易以为是某个权势巨大的统治者下令建起来的。在如此地广人稀的土地上，把一个个行踪不定的游牧部落组织起来进行这样一个浩大的工程是不可能的。事实上，所有的敖包都是千百年来，人们自发建成的。在蒙古民族中有一种民间信仰：如果你看到了石头（在草原上石头是很稀少的），就是看到了你的&amp;#8220;福气&amp;#8221;，如果你拿着石头绕着别的石头走一圈，然后把它与别的石头放在一起，你就是在为自己增添福气。人人都愿意自己的福气尽可能地多，所以当一个人看到一块石头时就会捡起来，等看到别的石头时就把它放在那儿。这种信仰代代相传，草原上的石头堆（即敖包）就越来越多，每个敖包也越垒越高。就在一代又一代人为各自&amp;#8220;谋福利&amp;#8221;的过程中，一个服务于所有人（包括后代子孙）的导航系统就在广亵的蒙古草原上建成了。&lt;/P&gt;
&lt;P&gt;　　蜜蜂的寓言&lt;/P&gt;
&lt;P&gt;　　在敖包是如何建成的故事中，我们看到了一个&amp;#8220;意想不到的转换逻辑&amp;#8221;：每个人出于私心的行为竟然成就了一种公共福利。&lt;/P&gt;
&lt;P&gt;　　这个逻辑看似简单，但人类发现这个逻辑却很不容易。通常认为，这个逻辑是亚当&amp;#183;斯密发现的。他把这个意想不到的转换形容为一只&amp;#8220;看不见的手&amp;#8221;。在《国富论》中他这样写道：&amp;#8220;每个个体既不打算促进公共利益，也不知道提升多少公共利益。他只在乎他自己的保障，自己的收益。个体被一只看不见的手所引导，最终达到的结果并非他自己的意图。个体通过追求自身的利益来促进社会收益，往往比他真正打算促进社会收益时更有效率。&amp;#8221; &amp;#8220;我们每天所需的食料和饮料，不是出自屠户、酿酒家或烙面师的恩惠，而是出于他们自利的打算。我们不说唤起他们利他心的话，而说唤起他们利己心的话。我们不说自己需要，而说对他们有利。&amp;#8221;&lt;/P&gt;
&lt;P&gt;　　身为格拉斯哥大学道德哲学教授的亚当&amp;#183;斯密试图回答一个古老的伦理学问题：个人利益与公共利益之间的关系到底是怎样的？二者之间是传统所认为的势不两立，还是存在着我们未曾察觉的相通相融的关系。&lt;/P&gt;
&lt;P&gt;　　亚当&amp;#183;斯密认为是后者。人类在道德问题上的传统焦虑被宣布为庸人自扰，人尽可以放心大胆地追求自己的利益，根本不用担心&amp;#8220;自利&amp;#8221;会有损公共利益，相反，只有当个体专注于自己的利益的追求，在追求自利上精益求精（即&amp;#8220;分工&amp;#8221;），让自己的利益最大化时，一只看不见的手就会神奇地将个人的追求转化为社会的利益。&amp;#8220;总体收益的结果，有别于创造收益的个体意向&amp;#8221;。&lt;/P&gt;
&lt;P&gt;　　1776年，被人们称为工业社会的元年。这一年中发生了两件大事：一是瓦特发明了蒸汽机，一是亚当&amp;#183;斯密出版了《国富论》。前者意味着革命性的生产工具的出现，后者为工业社会的运行机制（市场和社会分工）奠定了理论基础。以大机器为生产工具，按照效率最大化的分工原则进行生产，通过市场进行交易的现代工商企业出现了。企业唯一的社会责任和义务就是追求自身利益的最大化，因为这本身就是在使社会利益最大化。&lt;/P&gt;
&lt;P&gt;　　这种思想具有革命性意义，但它并非亚当&amp;#183;斯密首创。亚当&amp;#183;斯密是从一个名叫曼德维尔的人那里继承来的。&lt;/P&gt;
&lt;P&gt;　　1720年，曼德维尔出版了一本书，书名叫做《蜜蜂的寓言，或私人的恶行，公共的利益》。他把人类社会比喻为一个蜂巢：&amp;#8220;这些昆虫生活于斯，宛如人类，微缩地表演人类的一切行为。&amp;#8221;在&amp;#8220;这个蜜蜂的国度&amp;#8221;里，每只蜜蜂都在近乎疯狂地追求自己的利益，虚荣、伪善、欺诈、享乐、嫉妒、好色等恶德在每只蜜蜂身上表露无遗。令人惊异的是，当每只蜜蜂在疯狂追逐自己的利益时，整个蜂巢呈现出一派繁荣的景象。后来，邪恶的蜜蜂突然觉悟了，向天神要求让他们变得善良、正直、诚实起来。&amp;#8220;主神终于愤怒地发出誓言：使那个抱怨的蜂巢全无欺诈。神实现了誓言&amp;#8230;&amp;#8230;&amp;#8221;接着，在整个蜜蜂的王国中，一磅贬值为一文，昔日繁忙的酒店渺无人迹，不再有人订货，全国一片萧条景象。&lt;/P&gt;
&lt;P&gt;　　这就是说，私欲的&amp;#8220;恶之花&amp;#8221;结出的是公共利益的善果。这就是著名的&amp;#8220;曼德维尔悖论&amp;#8221;。从道德的角度看，以自利驱动的行为是应该受到谴责的，但如果想以&amp;#8220;公共精神&amp;#8221;的道德情怀来建立一种充满美德的繁荣社会，那只是一种&amp;#8220;浪漫的奇想&amp;#8221;，因为私欲和私欲支配的个人恶行恰恰是社会繁荣的能源，离开了这个能源，公共利益将是无源之水，无本之木。公益心和道德感这样的善之花，都将结出贫困和伪善的恶之果。&lt;/P&gt;
&lt;P&gt;　　曼德维尔的&amp;#8220;蜜蜂的寓言&amp;#8221;是现代自由主义经济学和经济伦理的基本隐喻。其理论主旨是弘扬私欲，相信市场对私人恶行具有神奇的转化和净化力量，认定出于道德情怀的行为不仅不可行而且可能危及公共利益。&lt;/P&gt;
&lt;P&gt;　　换言之，曼德维尔的&amp;#8220;蜜蜂的寓言&amp;#8221;与其说是一个&amp;#8220;寓言&amp;#8221;，不如说是一个神话，一个关于道德无益，私欲和市场万能的神话。这个神话被发展成为一个庞大的理论体系，并成为一种被广泛接受的意识形态。但自问世起，曼德维尔的&amp;#8220;蜜蜂的寓言&amp;#8221;一直遭到理论上的质疑和事实上的挑战。具体到商业领域，关于企业是一个纯粹为自身赚取利润的组织，还是一个应该承担社会责任的组织，也一直是一个争论不休的问题。&lt;/P&gt;
&lt;P&gt;　　&amp;#8220;公地的悲剧&amp;#8221;&lt;/P&gt;
&lt;P&gt;　　1968年，美国学者哈定在《科学》杂志上发表了一篇题为《公地的悲剧》的文章。英国曾经有这样一种土地制度&amp;#8212;&amp;#8212;封建主在自己的领地中划出一片尚未耕种的土地作为牧场（称为&amp;#8220;公地&amp;#8221;），无偿向牧民开放。这本来是一件造福于民的事，但由于是无偿放牧，每个牧民都养尽可能多的牛羊。随着牛羊数量无节制地增加，公地牧场最终因&amp;#8220;超载&amp;#8221;而成为不毛之地，牧民的牛羊最终全部饿死。&lt;/P&gt;
&lt;P&gt;　　&amp;#8220;公地的悲剧&amp;#8221;是一个远超出环境和生态问题的寓言，与蜜蜂的寓言&amp;#8220;相映成趣&amp;#8221;。它是对&amp;#8220;每个个体都追求自己的私利，看不见的手就会奇妙地将其转化成公共利益&amp;#8221;说法的讽刺。&amp;#8220;看不见的手&amp;#8221;为何失灵？为市场辩护的人的解释是：问题出在&amp;#8220;公地&amp;#8221;的产权不明晰，是公地产权的&amp;#8220;公有制&amp;#8221;性质导致了公地的悲剧。但这与其说是回答问题，不如说是掩盖问题。&amp;#8220;公地的悲剧&amp;#8221;包含的真实问题是：个体如何在利用产权不可能明晰的资源时避免资源的衰竭，从而导致公共利益的丧失？在人生活的世界上，有许多资源，而且是对人的生存最重要的资源（如阳光、空气等自然资源和良好的社会治安、社会道德氛围、文化资源）往往是难以确定产权的。在利用这些看似免费的资源时，我们如何才能避免&amp;#8220;公地的悲剧&amp;#8221;？&lt;/P&gt;
&lt;P&gt;　　曼德维尔在讲他的寓言的时候，至少忽略了两点：一、人们在寻求自己私欲的时候，既有可能是个体间的相互利用、交易、竞争甚至相互欺诈、掠夺，也有可能是没有节制地利用无人所有的资源，人们出于私利为他人生产时，既包含自己承担的成本，也包含看似免费的社会成本。以&amp;#8220;公地的悲剧&amp;#8221;为例，为了使自己的收益更大，牧民会多养几头牛，他购买牛犊的成本是私人成本，但牛犊要长大，就必须吃草，这些草也是&amp;#8220;生产&amp;#8221;一头牛的成本，只不过这个成本是无需他本人承担的社会成本。&amp;#8220;公地&amp;#8221;尽管能够&amp;#8220;免费&amp;#8221;承担养一头牛的社会成本，但其承担成本的能力总是有限的。在其承担能力允许值以内，&amp;#8220;免费&amp;#8221;的假象一直维持着，让牧民以为&amp;#8220;生产&amp;#8221;一头牛的成本只是购买牛犊的费用和自己付出的劳动，直到&amp;#8220;公地&amp;#8221;因过度放牧而无力承担生产每头牛的社会成本，这个隐性成本才被意识到。&amp;#8220;私人的恶行&amp;#8221;要想通过&amp;#8220;看不见的手&amp;#8221;转化为公共的利益，不能以暂时免于支付的社会成本当作私人的&amp;#8220;收益&amp;#8221;，损害社会成本的支付能力，使整个公共利益减少甚至衰竭。&lt;/P&gt;
&lt;P&gt;　　曼德维尔忽略的第二点是：公共利益的总量并非私人在交易活动中获得利益的总和。我们得到的许许多多&amp;#8220;好处&amp;#8221;（比如呼吸清新的空气、感受到的良好的社会氛围）都不是从交易活动中来的，个体拥有产权的东西所带来的好处往往超出（有时是大大超出）我们从交易活动中得到的个人收益。比如一个人拥有一片林地，他可以通过木材销售来获得收益。林地不仅生产木材，它从事的&amp;#8220;生产&amp;#8221;包括吸收二氧化碳、释放清新的空气、保持水土、为各种动植物提供生存环境等等，这些都是公共利益的一部分。当你因为木材价格暴涨而把整个林地砍伐尽净，获得了巨量的个人财富时，公共利益却受到损害。你不能说你对个人利益的追求促进了公共利益。&lt;/P&gt;
&lt;P&gt;　　也许你会说，砍伐这片林地对这个地区的生态环境的不良影响几乎看不到，公共利益谈不上受到了损害。在&amp;#8220;公地&amp;#8221;上放牧的人也都是这么想的：我多养一头牛对草场的损害微小到可以忽略不计。事实上，这就是导致&amp;#8220;公地的悲剧&amp;#8221;的逻辑之一。哲学上把这种逻辑称为&amp;#8220;秃头怪论&amp;#8221;。一个人掉一根头发不可能变成秃子，掉二根、三根、四根&amp;#8230;&amp;#8230;都不可能使一个人成为秃头，所以掉一根头发不是成为秃子的原因，至少你不能准确地说出人掉到哪根头发才成为秃子，所以任何一根掉落的头发对一个人成为秃头都不负有责任。&lt;/P&gt;
&lt;P&gt;　　无论是曼德维尔的蜜蜂，还是在&amp;#8220;公地&amp;#8221;上放牧的牧民，都有一个共同的特点：它们虽然与其他个体共同生活在一个地方，但他们都自认为唯一的责任是让自己的利益最大化，而对他人和环境负不了也无需负责任。他们只把私人财产（可以自由支配的资源）当作是自己的财富，把私人成本当作是成本的全部。&lt;/P&gt;
&lt;P&gt;　　新&amp;#8220;蜜蜂的寓言&amp;#8221;&lt;/P&gt;
&lt;P&gt;　　&amp;#8220;公民&amp;#8221;是一个外来语，起源于古希腊。希腊文的&amp;#8220;公民&amp;#8221;（Polites）一词是由城邦（Polis）一词衍生而来，意为&amp;#8220;属于城邦的人&amp;#8221;。与之相对的，当然就是不属于城邦的人，即&amp;#8220;非公民&amp;#8221;&amp;#8212;&amp;#8212;&amp;#8220;客居者&amp;#8221;、&amp;#8220;奴隶&amp;#8221;、&amp;#8220;异邦人&amp;#8221;，即在城邦这个共同体中不拥有身份和资格，对城邦事务没有责任当然也没有参与权利的人。他们即使生活在城邦里，也是与城邦漠不相关的人。&lt;/P&gt;
&lt;P&gt;　　简言之，&amp;#8220;公民&amp;#8221;是一个既独立又不独立的概念，指的是一个有所属的个体而不是原子式的个体。所谓&amp;#8220;企业公民&amp;#8221;，就是自觉地把自己归属于社区共同体、社会共同体和人类共同体的企业，在核算成本时，将社会成本、环境成本考虑在内，在计算收益时将企业收益、社会收益和环境收益同时计算在内，在做投资决策时将市场、社会和环境的投资回报率计算在内。拥有&amp;#8220;企业公民&amp;#8221;身份和资格的企业，就是在&amp;#8220;公地&amp;#8221;上谋求生存和发展的同时守望、养护&amp;#8220;公地&amp;#8221;，力图避免&amp;#8220;公地的悲剧&amp;#8221;发生的企业。&lt;/P&gt;
&lt;P&gt;　　英国学者约翰&amp;#183;埃尔金顿把这种企业描述为同时追求&amp;#8220;三重盈余&amp;#8221;&amp;#8212;&amp;#8212;经济盈余、社会盈余和环境盈余的企业。企业公民意识的有无，首先表现在对企业的所有权的认知。没有企业公民意识的企业，认为企业的股东仅是为企业提供资金者，企业经营的目的，就是为股东的投资带来回报并且使回报最大化。但追求三重盈余的企业认为企业的股东至少有三个：自然环境、社会和投资人。企业经营者的真实身份是受托于这三个股东的&amp;#8220;公民CEO&amp;#8221;，他的经营行为是确保三个&amp;#8220;出资人&amp;#8221;同时受益，而不是为了一个股东利益的最大化而牺牲其他两个股东的利益。&lt;/P&gt;
&lt;P&gt;　　一旦我们引入&amp;#8220;三重盈余&amp;#8221;标准，同样是在成长和盈利的企业就可以划分为四种类型。我们把企业置入一个座标系中，横轴是企业自身的规模和利润的成长，即企业的影响力，受益者是作为企业出资人的股东，竖轴是企业对环境（包括社会环境和自然环境）的回报，受益者是社会和自然这两个&amp;#8220;股东&amp;#8221;。按高影响力和低影响力、对环境的回报和破坏，企业就这样分成了四种类型：&lt;/P&gt;
&lt;P&gt;　　一、蜜蜂型企业：影响力高且对环境的回报率高。蜜蜂为了酿蜜，就必须从各种植物中采集花蜜&amp;#8212;&amp;#8212;这可以看作是对环境资源的索取。而它在采蜜的同时，它翅膀上粘附的花粉就会给花授粉。如果没有蜜蜂来采蜜，花也就成了不结果实之花。（经济学家张五常在深入调查的基础上写出了一篇著名的经济学论文《蜜蜂的寓言》，涉及到了到底是果农该付给养蜂人钱还是该向养蜂人收钱的问题。）曼德维尔只注意到蜜蜂间的生存竞争，没有看到蜜蜂与环境之间的这种索取回报的关系&amp;#8212;&amp;#8212;在从环境中索取资源的同时回报环境，使自己的&amp;#8220;盈利&amp;#8221;空间获得了可持续性和成长性。蜜蜂的这种获利模式是一种远比曼德维尔的寓言深刻的隐喻。&lt;/P&gt;
&lt;P&gt;　　二、蝴蝶型企业：对环境有回报但自身的成长性和影响力小的企业；&lt;/P&gt;
&lt;P&gt;　　三、毛毛虫企业：对环境有损害但自身的成长性和影响力小的企业；&lt;/P&gt;
&lt;P&gt;　　四、蝗虫型企业：破坏环境且由于其成长性和影响力大而对社会和环境有巨大破坏性的企业。（见图一：企业的四种类型）&lt;/P&gt;
&lt;P&gt;　　不言而喻，只有蜜蜂型企业才是能做到三重盈余的企业公民。&lt;/P&gt;
&lt;P&gt;　　企业的利益相关方，除了三重盈余对应的三个&amp;#8220;股东&amp;#8221;外，还有客户、员工和合作伙伴（包括供应商）。它寻求所有这六个利益相关方（&amp;#8220;持股人&amp;#8221;）的平衡。企业是股东的，也是员工的，是社会的也是自然环境的&amp;#8230;&amp;#8230;公民行为体现为六个&amp;#8220;善待&amp;#8221;：一、善待股东；二、善待员工；三、善待客户；四、善待环境和资源；五、善待合作伙伴（供应商）；六、善待整个社会。企业公民行为就呈现为一个六边形，这正好是一个蜂巢的形状。（见图二：企业公民行为的六个利益相关方）&lt;/P&gt;
&lt;P&gt;　　这是一个与曼德维尔的&amp;#8220;寓言&amp;#8221;大异其趣的关于企业公民的&amp;#8220;蜜蜂的寓言&amp;#8221;。&lt;/P&gt;&lt;img src ="http://blog.vckbase.com/bastet/aggbug/35535.html" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Diviner</dc:creator><title>dib段的一个简单例子</title><link>http://blog.vckbase.com/bastet/archive/2008/08/22/34736.html</link><pubDate>Fri, 22 Aug 2008 03:01:00 GMT</pubDate><guid>http://blog.vckbase.com/bastet/archive/2008/08/22/34736.html</guid><wfw:comment>http://blog.vckbase.com/bastet/comments/34736.html</wfw:comment><comments>http://blog.vckbase.com/bastet/archive/2008/08/22/34736.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://blog.vckbase.com/bastet/comments/commentRss/34736.html</wfw:commentRss><trackback:ping>http://blog.vckbase.com/bastet/services/trackbacks/34736.html</trackback:ping><description>class CDib : public CObject&lt;BR&gt;{&lt;BR&gt;public:&lt;BR&gt;	CDib();&lt;BR&gt;	virtual ~CDib();&lt;BR&gt;&lt;BR&gt;    /**&lt;BR&gt;     * Clears all member variables and frees allocated memory.&lt;BR&gt;     */&lt;BR&gt;    void		DeleteObject();&lt;BR&gt;    /**&lt;BR&gt;     * Gets the number of bytes per horizontal line in the image.&lt;BR&gt;     * \param nWidth the width of the image&lt;BR&gt;     * \param nBitsPerPixel number of bits per pixel (color depth)&lt;BR&gt;     */&lt;BR&gt;    static int	BytesPerLine(int nWidth, int nBitsPerPixel);&lt;BR&gt;    /**&lt;BR&gt;     * Returns the height of the image in pixels&lt;BR&gt;     */&lt;BR&gt;    int			GetHeight() const { return m_BMinfo.bmiHeader.biHeight; } &lt;BR&gt;    /**&lt;BR&gt;     * Returns the width of the image in pixels&lt;BR&gt;     */&lt;BR&gt;    int			GetWidth() const { return m_BMinfo.bmiHeader.biWidth; }&lt;BR&gt;    /**&lt;BR&gt;     * Returns the size of the image in pixels&lt;BR&gt;     */&lt;BR&gt;    CSize		GetSize() const { return CSize(GetWidth(), GetHeight()); }&lt;BR&gt;    /**&lt;BR&gt;     * Returns the image byte field which can be used to work on.&lt;BR&gt;     */&lt;BR&gt;    LPVOID		GetDIBits() { return m_pBits; }&lt;BR&gt;	/**&lt;BR&gt;	 * Creates a DIB from a CPictureHolder object with the specified width and height.&lt;BR&gt;	 * \param pPicture the CPictureHolder object&lt;BR&gt;	 * \param iWidth the width of the resulting picture&lt;BR&gt;	 * \param iHeight the height of the resulting picture&lt;BR&gt;	 */&lt;BR&gt;	void		Create32BitFromPicture (CPictureHolder* pPicture, int iWidth, int iHeight);&lt;BR&gt;&lt;BR&gt;	/**&lt;BR&gt;	 * Returns a 32-bit RGB color&lt;BR&gt;	 */&lt;BR&gt;	static COLORREF	FixColorRef		(COLORREF clr);&lt;BR&gt;    /**&lt;BR&gt;     * Sets the created Bitmap-image (from Create32BitFromPicture) to the internal&lt;BR&gt;	 * member variables and fills in all required values for this class.&lt;BR&gt;     * \param lpBitmapInfo a pointer to a BITMAPINFO structure&lt;BR&gt;     * \param lpBits pointer to the image byte field&lt;BR&gt;     */&lt;BR&gt;    BOOL		SetBitmap(const LPBITMAPINFO lpBitmapInfo, const LPVOID lpBits);   &lt;BR&gt;&lt;BR&gt;public:&lt;BR&gt;    /**&lt;BR&gt;     * Draws the image on the specified device context at the specified point.&lt;BR&gt;	 * No stretching is done!&lt;BR&gt;     * \param pDC the device context to draw on&lt;BR&gt;     * \param ptDest the upper left corner to where the picture should be drawn to&lt;BR&gt;     */&lt;BR&gt;    BOOL		Draw(CDC* pDC, CPoint ptDest);&lt;BR&gt;&lt;BR&gt;protected:&lt;BR&gt;    HBITMAP		m_hBitmap;&lt;BR&gt;    BITMAPINFO  m_BMinfo;&lt;BR&gt;    VOID		*m_pBits;&lt;BR&gt;};&lt;BR&gt;&lt;BR&gt;CDib::CDib()&lt;BR&gt;{&lt;BR&gt;    m_hBitmap = NULL;&lt;BR&gt;    DeleteObject();&lt;BR&gt;}&lt;BR&gt;&lt;BR&gt;CDib::~CDib()&lt;BR&gt;{&lt;BR&gt;    DeleteObject();&lt;BR&gt;}&lt;BR&gt;&lt;BR&gt;int CDib::BytesPerLine(int nWidth, int nBitsPerPixel)&lt;BR&gt;{&lt;BR&gt;    int nBytesPerLine = nWidth * nBitsPerPixel;&lt;BR&gt;    nBytesPerLine = ( (nBytesPerLine + 31) &amp; (~31) ) / 8;&lt;BR&gt;    return nBytesPerLine;&lt;BR&gt;}&lt;BR&gt;&lt;BR&gt;void CDib::DeleteObject()&lt;BR&gt;{&lt;BR&gt;    m_pBits = NULL;&lt;BR&gt;    if (m_hBitmap)&lt;BR&gt;        ::DeleteObject(m_hBitmap);&lt;BR&gt;    m_hBitmap = NULL;&lt;BR&gt;&lt;BR&gt;    memset(&amp;m_BMinfo, 0, sizeof(m_BMinfo));&lt;BR&gt;}&lt;BR&gt;&lt;BR&gt;void CDib::Create32BitFromPicture (CPictureHolder* pPicture, int iWidth, int iHeight)&lt;BR&gt;{&lt;BR&gt;	CRect r;&lt;BR&gt;	CBitmap newBMP;&lt;BR&gt;	CWindowDC dc(NULL);&lt;BR&gt;	CDC tempDC;&lt;BR&gt;&lt;BR&gt;	tempDC.CreateCompatibleDC(&amp;dc);&lt;BR&gt;&lt;BR&gt;	newBMP.CreateDiscardableBitmap(&amp;dc,iWidth,iHeight);&lt;BR&gt;&lt;BR&gt;	CBitmap* pOldBitmap = tempDC.SelectObject(&amp;newBMP);&lt;BR&gt;&lt;BR&gt;	r.SetRect(0,0,iWidth,iHeight);&lt;BR&gt;	pPicture-&gt;Render(&amp;tempDC,r,r);&lt;BR&gt;&lt;BR&gt;	// Create a 32 bit bitmap&lt;BR&gt;	stdex::vector&lt;DWORD&gt; pBits(iWidth * iHeight);&lt;BR&gt;&lt;BR&gt;	BITMAPINFO bi;&lt;BR&gt;    bi.bmiHeader.biSize          = sizeof(BITMAPINFOHEADER);&lt;BR&gt;    bi.bmiHeader.biWidth         = iWidth; &lt;BR&gt;    bi.bmiHeader.biHeight        = iHeight; &lt;BR&gt;    bi.bmiHeader.biPlanes        = 1; &lt;BR&gt;    bi.bmiHeader.biBitCount      = 32; &lt;BR&gt;    bi.bmiHeader.biCompression   = BI_RGB; &lt;BR&gt;    bi.bmiHeader.biSizeImage     = 0; &lt;BR&gt;    bi.bmiHeader.biXPelsPerMeter = 0; &lt;BR&gt;    bi.bmiHeader.biYPelsPerMeter = 0; &lt;BR&gt;    bi.bmiHeader.biClrUsed       = 0; &lt;BR&gt;    bi.bmiHeader.biClrImportant  = 0; &lt;BR&gt;	&lt;BR&gt;	&lt;BR&gt;	SetBitmap(&amp;bi, pBits);&lt;BR&gt;&lt;BR&gt;	DWORD* pAr = (DWORD*)GetDIBits();&lt;BR&gt;&lt;BR&gt;	// Copy data into the 32 bit dib..&lt;BR&gt;	for(int i=0;i&lt;iHeight;i++)&lt;BR&gt;	{	&lt;BR&gt;		for(int j=0;j&lt;iWidth;j++)&lt;BR&gt;		{&lt;BR&gt;			pAr[(i*iWidth)+j] = FixColorRef(tempDC.GetPixel(j,i));&lt;BR&gt;		}&lt;BR&gt;	}&lt;BR&gt;&lt;BR&gt;	tempDC.SelectObject(pOldBitmap);&lt;BR&gt;}&lt;BR&gt;&lt;BR&gt;BOOL CDib::SetBitmap(const LPBITMAPINFO lpBitmapInfo, const LPVOID lpBits)&lt;BR&gt;{&lt;BR&gt;    DeleteObject();&lt;BR&gt;&lt;BR&gt;    if (!lpBitmapInfo || !lpBits)&lt;BR&gt;        return FALSE;&lt;BR&gt;&lt;BR&gt;    HDC hDC = NULL;&lt;BR&gt;&lt;BR&gt;    DWORD dwBitmapInfoSize = sizeof(BITMAPINFO);&lt;BR&gt;&lt;BR&gt;    memcpy(&amp;m_BMinfo, lpBitmapInfo, dwBitmapInfoSize);&lt;BR&gt;&lt;BR&gt;    hDC = ::GetDC(NULL);&lt;BR&gt;    if (!hDC) &lt;BR&gt;	{&lt;BR&gt;		DeleteObject();&lt;BR&gt;		return FALSE;&lt;BR&gt;	}&lt;BR&gt;&lt;BR&gt;    m_hBitmap = CreateDIBSection(hDC, &amp;m_BMinfo,&lt;BR&gt;                                    DIB_RGB_COLORS, &amp;m_pBits, NULL, 0);&lt;BR&gt;    ::ReleaseDC(NULL, hDC);&lt;BR&gt;    if (!m_hBitmap)&lt;BR&gt;	{&lt;BR&gt;		DeleteObject();&lt;BR&gt;		return FALSE;&lt;BR&gt;	}&lt;BR&gt;&lt;BR&gt;    DWORD dwImageSize = m_BMinfo.bmiHeader.biSizeImage;&lt;BR&gt;    if (dwImageSize == 0)&lt;BR&gt;    {&lt;BR&gt;        int nBytesPerLine = BytesPerLine(lpBitmapInfo-&gt;bmiHeader.biWidth, &lt;BR&gt;                                            lpBitmapInfo-&gt;bmiHeader.biBitCount);&lt;BR&gt;        dwImageSize = nBytesPerLine * lpBitmapInfo-&gt;bmiHeader.biHeight;&lt;BR&gt;    }&lt;BR&gt;&lt;BR&gt;    GdiFlush();&lt;BR&gt;&lt;BR&gt;    memcpy(m_pBits, lpBits, dwImageSize);&lt;BR&gt;&lt;BR&gt;    return TRUE;&lt;BR&gt;}&lt;BR&gt;&lt;BR&gt;BOOL CDib::Draw(CDC* pDC, CPoint ptDest) &lt;BR&gt;{ &lt;BR&gt;    if (!m_hBitmap)&lt;BR&gt;        return FALSE;&lt;BR&gt;&lt;BR&gt;    CSize size = GetSize();&lt;BR&gt;    CPoint SrcOrigin = CPoint(0,0);&lt;BR&gt;&lt;BR&gt;    BOOL resVal = FALSE;&lt;BR&gt;&lt;BR&gt;    resVal = SetDIBitsToDevice(pDC-&gt;GetSafeHdc(), &lt;BR&gt;                                ptDest.x, ptDest.y, &lt;BR&gt;                                size.cx, size.cy,&lt;BR&gt;                                SrcOrigin.x, SrcOrigin.y,&lt;BR&gt;                                SrcOrigin.y, size.cy - SrcOrigin.y, &lt;BR&gt;                                GetDIBits(), &amp;m_BMinfo, &lt;BR&gt;                                DIB_RGB_COLORS); &lt;BR&gt;&lt;BR&gt;    return resVal;&lt;BR&gt;}&lt;BR&gt;&lt;BR&gt;COLORREF CDib::FixColorRef(COLORREF clr)&lt;BR&gt;{&lt;BR&gt;	int r = GetRValue(clr);&lt;BR&gt;	int g = GetGValue(clr);&lt;BR&gt;	int b =  GetBValue(clr);&lt;BR&gt;&lt;BR&gt;	return RGB(b,g,r);&lt;BR&gt;}&lt;BR&gt;&lt;BR&gt;&lt;img src ="http://blog.vckbase.com/bastet/aggbug/34736.html" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Diviner</dc:creator><title>如何重载operator new,delete操作</title><link>http://blog.vckbase.com/bastet/archive/2008/08/06/34595.html</link><pubDate>Wed, 06 Aug 2008 05:31:00 GMT</pubDate><guid>http://blog.vckbase.com/bastet/archive/2008/08/06/34595.html</guid><wfw:comment>http://blog.vckbase.com/bastet/comments/34595.html</wfw:comment><comments>http://blog.vckbase.com/bastet/archive/2008/08/06/34595.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://blog.vckbase.com/bastet/comments/commentRss/34595.html</wfw:commentRss><trackback:ping>http://blog.vckbase.com/bastet/services/trackbacks/34595.html</trackback:ping><description>得承认，这不困难，下面的这种做法可能看起来舒服些。&lt;BR&gt;&lt;BR&gt;#include &lt;malloc.h&gt;&lt;BR&gt;&lt;BR&gt;namespace HL &lt;BR&gt;{&lt;BR&gt;	class mallocHeap &lt;BR&gt;	{&lt;BR&gt;	public:&lt;BR&gt;&lt;BR&gt;		~mallocHeap (void) {}&lt;BR&gt;&lt;BR&gt;		inline void * malloc (size_t sz) &lt;BR&gt;		{&lt;BR&gt;			return ::malloc (sz);&lt;BR&gt;		}&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;		inline void free (void * ptr) &lt;BR&gt;		{&lt;BR&gt;			::free (ptr);&lt;BR&gt;		}&lt;BR&gt;&lt;BR&gt;		inline size_t getSize (void * ptr) &lt;BR&gt;		{&lt;BR&gt;			return ::_msize (ptr);&lt;BR&gt;		}&lt;BR&gt;	};&lt;BR&gt;&lt;BR&gt;	template &lt;class SuperHeap&gt;&lt;BR&gt;	class PerClassHeap &lt;BR&gt;	{&lt;BR&gt;	public:&lt;BR&gt;		inline void * operator new (size_t sz) &lt;BR&gt;		{&lt;BR&gt;			printf("Malloc one\n");&lt;BR&gt;			return getHeap()-&gt;malloc (sz);&lt;BR&gt;		}&lt;BR&gt;		inline void operator delete (void * ptr) &lt;BR&gt;		{&lt;BR&gt;			printf("delete one\n");&lt;BR&gt;			getHeap()-&gt;free (ptr);&lt;BR&gt;		}&lt;BR&gt;		inline void * operator new[] (size_t sz) &lt;BR&gt;		{&lt;BR&gt;			return getHeap()-&gt;malloc (sz);&lt;BR&gt;		}&lt;BR&gt;		inline void operator delete[] (void * ptr) &lt;BR&gt;		{&lt;BR&gt;			getHeap()-&gt;free (ptr);&lt;BR&gt;		}&lt;BR&gt;		// For some reason, g++ needs placement new to be overridden&lt;BR&gt;		// as well, at least in conjunction with use of the STL.&lt;BR&gt;		// Otherwise, this should be superfluous.&lt;BR&gt;		inline void * operator new (size_t sz, void * p) { return p; }&lt;BR&gt;		inline void * operator new[] (size_t sz, void * p) { return p; }&lt;BR&gt;&lt;BR&gt;	private:&lt;BR&gt;		inline static SuperHeap * getHeap (void) &lt;BR&gt;		{&lt;BR&gt;			static SuperHeap theHeap;&lt;BR&gt;			return &amp;theHeap;&lt;BR&gt;		}&lt;BR&gt;	};&lt;BR&gt;&lt;BR&gt;}&lt;BR&gt;&lt;BR&gt;class TestB : public HL::PerClassHeap&lt;HL::mallocHeap&gt;&lt;BR&gt;{&lt;BR&gt;&lt;BR&gt;};&lt;img src ="http://blog.vckbase.com/bastet/aggbug/34595.html" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Diviner</dc:creator><title>在程序里使用Squirrel脚本互相调用。</title><link>http://blog.vckbase.com/bastet/archive/2008/07/03/34280.html</link><pubDate>Thu, 03 Jul 2008 05:55:00 GMT</pubDate><guid>http://blog.vckbase.com/bastet/archive/2008/07/03/34280.html</guid><wfw:comment>http://blog.vckbase.com/bastet/comments/34280.html</wfw:comment><comments>http://blog.vckbase.com/bastet/archive/2008/07/03/34280.html#Feedback</comments><slash:comments>2</slash:comments><wfw:commentRss>http://blog.vckbase.com/bastet/comments/commentRss/34280.html</wfw:commentRss><trackback:ping>http://blog.vckbase.com/bastet/services/trackbacks/34280.html</trackback:ping><description>Squirrel是个脚本，再具体的就不说了，直接看代码。&lt;BR&gt;#pragma pack(push,1)&lt;BR&gt;namespace DZH&lt;BR&gt;{&lt;BR&gt;	struct DayData&lt;BR&gt;	{&lt;BR&gt;		unsigned long date;//date的格式：20070423&lt;BR&gt;		unsigned long open;//开盘价&lt;BR&gt;		unsigned long high;//最高价&lt;BR&gt;		unsigned long low;//最低价&lt;BR&gt;		unsigned long close;//收盘价&lt;BR&gt;		unsigned long moneysum;//成交金额&lt;BR&gt;		unsigned long turnover;//成交数量&lt;BR&gt;		char unused[12];//保留&lt;BR&gt;	};&lt;BR&gt;}&lt;BR&gt;#pragma pack(pop)&lt;BR&gt;&lt;BR&gt;DZH::DayData curData;&lt;BR&gt;&lt;BR&gt;SQInteger ScriptGetOpen(HSQUIRRELVM v) &lt;BR&gt;{&lt;BR&gt;	StackHandler sa(v);&lt;BR&gt;	int paramCount = sa.GetParamCount();&lt;BR&gt;	//假设只有一个参数，也确实只有一个参数,我们现在先没有参数传递进去吧。//sa.GetInt(i)),sa.GetString(i)来获得参数&lt;BR&gt;	return sa.Return((INT)curData.open);&lt;BR&gt;}&lt;BR&gt;&lt;BR&gt;SQInteger ScriptGetClose(HSQUIRRELVM v) &lt;BR&gt;{&lt;BR&gt;	StackHandler sa(v);&lt;BR&gt;	int paramCount = sa.GetParamCount();&lt;BR&gt;	//假设只有一个参数，也确实只有一个参数,我们现在先没有参数传递进去吧。//sa.GetInt(i)),sa.GetString(i)来获得参数&lt;BR&gt;	return sa.Return((INT)curData.close);&lt;BR&gt;}&lt;BR&gt;&lt;BR&gt;这里定义了两个在脚本里可以调用的函数&lt;BR&gt;初始化一下&lt;BR&gt;	SquirrelVM::Init();&lt;BR&gt;	SquirrelVM::CreateFunctionGlobal(ScriptGetOpen,"GetOpen",_T(""));&lt;BR&gt;	SquirrelVM::CreateFunctionGlobal(ScriptGetClose,"GetClose",_T(""));    // String var name.&lt;BR&gt;	SquirrelObject scriptfunc=SquirrelVM::CompileBuffer("function ciao()\r\n{ return GetOpen()-GetClose();\r\n}");//这里用到了上面定义的函数&lt;BR&gt;	SquirrelVM::RunScript(scriptfunc);&lt;BR&gt;&lt;BR&gt;使用：&lt;BR&gt;SqPlus::SquirrelFunction&lt;int&gt; func_formula(_T("ciao"));&lt;BR&gt;	int ival = func_formula();&lt;BR&gt;这样就ＯＫ了，是如此的方便。&lt;BR&gt;&lt;img src ="http://blog.vckbase.com/bastet/aggbug/34280.html" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Diviner</dc:creator><title>vs2008加快速度，减小内存使用的方法</title><link>http://blog.vckbase.com/bastet/archive/2008/05/07/33554.html</link><pubDate>Wed, 07 May 2008 03:24:00 GMT</pubDate><guid>http://blog.vckbase.com/bastet/archive/2008/05/07/33554.html</guid><wfw:comment>http://blog.vckbase.com/bastet/comments/33554.html</wfw:comment><comments>http://blog.vckbase.com/bastet/archive/2008/05/07/33554.html#Feedback</comments><slash:comments>10</slash:comments><wfw:commentRss>http://blog.vckbase.com/bastet/comments/commentRss/33554.html</wfw:commentRss><trackback:ping>http://blog.vckbase.com/bastet/services/trackbacks/33554.html</trackback:ping><description>假如只用VC的话，删去common7下的下列文件&lt;BR&gt; 驱动器 G 中的卷是 新加卷&lt;BR&gt; 卷的序列号是 9453-F61B&lt;BR&gt;&lt;BR&gt; G:\vs9\Common7\remove 的目录&lt;BR&gt;&lt;BR&gt;2008-05-07  13:45    &lt;DIR&gt;          .&lt;BR&gt;2008-05-07  13:45    &lt;DIR&gt;          ..&lt;BR&gt;2007-11-08  00:58            10,240 iisresolver.dll&lt;BR&gt;2007-11-08  17:26           421,888 Microsoft.Data.ConnectionUI.Dialog.dll&lt;BR&gt;2007-11-08  17:26             6,656 Microsoft.Data.ConnectionUI.dll&lt;BR&gt;2007-10-10  22:47             6,631 Microsoft.Data.ConnectionUI.xml&lt;BR&gt;2007-11-08  17:26           122,880 Microsoft.VisualStudio.Data.Compatibility.dll&lt;BR&gt;2007-11-08  17:26           253,952 Microsoft.VisualStudio.Data.dll&lt;BR&gt;2007-11-08  17:26            40,960 Microsoft.VisualStudio.Data.Host.dll&lt;BR&gt;2007-11-08  17:26            32,768 Microsoft.VisualStudio.Data.Interop.dll&lt;BR&gt;2007-11-08  17:26           499,712 Microsoft.VisualStudio.Data.Package.dll&lt;BR&gt;2007-11-08  17:26            53,248 Microsoft.VisualStudio.Data.Providers.Common.dll&lt;BR&gt;2007-11-08  17:26           167,936 Microsoft.VisualStudio.Data.Providers.Oracle.dll&lt;BR&gt;2007-11-08  17:26           446,464 Microsoft.VisualStudio.Data.Providers.SqlServer.dll&lt;BR&gt;2007-11-08  17:26           475,136 Microsoft.VisualStudio.DataDesign.SyncDesigner.Dsl.dll&lt;BR&gt;2007-11-08  17:26           688,128 Microsoft.VisualStudio.DataDesign.SyncDesigner.DslPackage.dll&lt;BR&gt;2007-11-08  17:26         1,089,536 Microsoft.VisualStudio.DataTools.dll&lt;BR&gt;2007-11-08  17:26            40,960 Microsoft.VisualStudio.DataTools.Interop.dll&lt;BR&gt;2007-11-09  00:19           249,856 Microsoft.VisualStudio.DeployWizard.Dll&lt;BR&gt;2007-10-10  20:26           352,472 Microsoft.VisualStudio.vspBatchParser.dll&lt;BR&gt;2007-10-10  20:26           142,040 Microsoft.VisualStudio.vspConnectionInfo.dll&lt;BR&gt;2007-10-10  20:26           199,384 Microsoft.VisualStudio.vspGridControl.dll&lt;BR&gt;2007-10-10  20:26            64,216 Microsoft.VisualStudio.vspRegSvrEnum.dll&lt;BR&gt;2007-10-10  20:26            39,640 Microsoft.VisualStudio.vspServiceBrokerEnum.dll&lt;BR&gt;2007-10-10  20:26         1,551,064 Microsoft.VisualStudio.vspSmo.dll&lt;BR&gt;2007-10-10  20:26           207,576 Microsoft.VisualStudio.vspSmoEnum.dll&lt;BR&gt;2007-10-10  20:26           862,936 Microsoft.VisualStudio.vspSqlEnum.dll&lt;BR&gt;2007-10-10  20:26            43,736 Microsoft.VisualStudio.vspSqlTDiagM.dll&lt;BR&gt;2007-10-10  20:26            43,736 Microsoft.VisualStudio.vspWmiEnum.dll&lt;BR&gt;2007-11-08  17:26         1,024,000 Microsoft.VisualStudio.Web.dll&lt;BR&gt;2007-11-08  17:26           176,128 Microsoft.VisualStudio.WPFFlavor.dll&lt;BR&gt;2007-11-09  00:19           856,064 Microsoft.VSDesigner.Management.dll&lt;BR&gt;2007-11-08  17:26           405,504 Microsoft.Web.Design.Client.dll&lt;BR&gt;2007-10-23  09:55           156,728 Microsoft.Workflow.DebugController.dll&lt;BR&gt;2007-10-23  09:55            14,400 Microsoft.Workflow.ExpressionEvaluation.dll&lt;BR&gt;2007-10-23  09:55            11,776 Microsoft.Workflow.ExpressionEvaluation.pdb&lt;BR&gt;2007-10-23  09:55           541,744 Microsoft.Workflow.VSDesigner.dll&lt;BR&gt;2007-11-08  00:58         4,068,856 msvb7.dll&lt;BR&gt;2008-05-07  13:39    &lt;DIR&gt;          Packages&lt;BR&gt;2008-05-07  13:45                 0 remove.txt&lt;BR&gt;2007-10-23  09:55           357,376 WDE.dll&lt;BR&gt;2007-11-08  17:26            90,112 WindowsFormsIntegration.Design.dll&lt;BR&gt;2007-11-08  17:26            45,056 WindowsFormsIntegration.Package.dll&lt;BR&gt;2007-11-08  17:26            12,288 WinFxBrowserApplicationTemplateWizard.dll&lt;BR&gt;2007-11-08  17:26            13,312 WinFxCustomControlTemplateWizard.dll&lt;BR&gt;2007-10-23  09:55           192,016 WorkflowProject.dll&lt;BR&gt;              43 个文件     16,079,111 字节&lt;BR&gt;&lt;BR&gt; G:\vs9\Common7\remove\Packages 的目录&lt;BR&gt;&lt;BR&gt;2008-05-07  13:39    &lt;DIR&gt;          .&lt;BR&gt;2008-05-07  13:39    &lt;DIR&gt;          ..&lt;BR&gt;2007-11-08  17:26           225,272 csspkg.dll&lt;BR&gt;2008-05-07  13:40    &lt;DIR&gt;          Debugger&lt;BR&gt;2007-11-08  17:26           156,160 htmdlgs.dll&lt;BR&gt;2007-11-08  17:26         2,419,704 htmled.dll&lt;BR&gt;2007-11-08  17:26           151,552 srcedit.dll&lt;BR&gt;2007-11-08  17:26           375,296 webdirprj.dll&lt;BR&gt;               5 个文件      3,327,984 字节&lt;BR&gt;&lt;BR&gt; G:\vs9\Common7\remove\Packages\Debugger 的目录&lt;BR&gt;&lt;BR&gt;2008-05-07  13:40    &lt;DIR&gt;          .&lt;BR&gt;2008-05-07  13:40    &lt;DIR&gt;          ..&lt;BR&gt;2007-11-08  17:26           578,040 cpde.dll&lt;BR&gt;2007-11-08  17:26           853,504 cscompee.dll&lt;BR&gt;2007-11-08  17:26           184,824 jsee.dll&lt;BR&gt;2007-11-09  00:19           251,896 sqlde.dll&lt;BR&gt;2007-11-09  00:19           196,088 sqlle.dll&lt;BR&gt;               5 个文件      2,064,352 字节&lt;BR&gt;&lt;BR&gt;     所列文件总数:&lt;BR&gt;              53 个文件     21,471,447 字节&lt;BR&gt;               8 个目录 11,531,968,512 可用字节&lt;BR&gt;&lt;BR&gt;注：我是pro版本，也许ts的可以删除更多的。&lt;img src ="http://blog.vckbase.com/bastet/aggbug/33554.html" width = "1" height = "1" /&gt;</description></item><item><dc:creator>Diviner</dc:creator><title>gcc 4.3.0　for win32</title><link>http://blog.vckbase.com/bastet/archive/2008/04/01/33116.html</link><pubDate>Tue, 01 Apr 2008 13:37:00 GMT</pubDate><guid>http://blog.vckbase.com/bastet/archive/2008/04/01/33116.html</guid><wfw:comment>http://blog.vckbase.com/bastet/comments/33116.html</wfw:comment><comments>http://blog.vckbase.com/bastet/archive/2008/04/01/33116.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://blog.vckbase.com/bastet/comments/commentRss/33116.html</wfw:commentRss><trackback:ping>http://blog.vckbase.com/bastet/services/trackbacks/33116.html</trackback:ping><description>http://www.tdragon.net/recentgcc/&lt;BR&gt;&lt;BR&gt;Twilight Dragon Media Logo&lt;BR&gt;Navigation&lt;BR&gt;Home&lt;BR&gt;Recent GCC Binaries for MinGW&lt;BR&gt;News&lt;BR&gt;2008-03-22&lt;BR&gt;GCC 4.3.0 TDM-2 released! Shared libgcc&amp;libstdc++ and Dwarf-2 exceptions are here! Make sure to read the usage notes for details on the new features.&lt;BR&gt;&lt;BR&gt;2008-03-11&lt;BR&gt;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!&lt;BR&gt;&lt;BR&gt;2008-02-03&lt;BR&gt;GCC 4.2.3 TDM-1 released! Includes all previous TDM fixes plus a few bugfixes in the vanilla sources from 4.2.2.&lt;BR&gt;&lt;BR&gt;2007-10-11&lt;BR&gt;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.&lt;BR&gt;&lt;BR&gt;2007-08-06&lt;BR&gt;GCC 4.2.1 TDM-2 released! Now includes Objective-C++ and Treelang packages, and support for non-UTF-8 charsets (-finput-charset, etc.).&lt;BR&gt;&lt;BR&gt;TDM's Experimental GCC/MinGW32 Builds&lt;BR&gt;Binary packages of recent GCC releases targeting the MinGW compiler system&lt;BR&gt;Main Page | Development Information | Bugs&lt;BR&gt;&lt;BR&gt;SourceForge.net Logo&lt;BR&gt;TDM GCC releases hosted by SourceForge&lt;BR&gt;Support This Project&lt;BR&gt;Consider making a donation to support the TDM-GCC project&lt;BR&gt;Last updated: 2008-03-28 09:04&lt;BR&gt;&lt;BR&gt;in a nutshell&lt;BR&gt;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.&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;Recommended Download&lt;BR&gt;GCC 4.3.0-tdm-2&lt;BR&gt;(Default SJLJ exceptions)&lt;BR&gt;Released 2008-03-21&lt;BR&gt;Package 	Download&lt;BR&gt;core&lt;BR&gt;(Required base files and C support) 	[tar.gz] (5.67 MB) or [zip] (5.44 MB)&lt;BR&gt;g++&lt;BR&gt;(C++ support) 	[tar.gz] (8.41 MB) or [zip] (8.73 MB)&lt;BR&gt;fortran&lt;BR&gt;(Fortran support) 	[tar.gz] (4.54 MB) or [zip] (4.34 MB)&lt;BR&gt;objc&lt;BR&gt;(Objective-C support) 	[tar.gz] (3.55 MB) or [zip] (3.41 MB)&lt;BR&gt;objc++&lt;BR&gt;(Objective-C++ support) 	[tar.gz] (3.68 MB) or [zip] (3.53 MB)&lt;BR&gt;	OR	&lt;BR&gt;GCC 4.3.0-tdm-2&lt;BR&gt;With DW2 Exceptions&lt;BR&gt;Released 2008-03-21&lt;BR&gt;Package 	Download&lt;BR&gt;core&lt;BR&gt;(Required base files and C support) 	[tar.gz] (7.84 MB) or [zip] (7.49 MB)&lt;BR&gt;g++&lt;BR&gt;(C++ support) 	[tar.gz] (6.30 MB) or [zip] (6.76 MB)&lt;BR&gt;fortran&lt;BR&gt;(Fortran support) 	[tar.gz] (4.52 MB) or [zip] (4.34 MB)&lt;BR&gt;objc&lt;BR&gt;(Objective-C support) 	[tar.gz] (3.54 MB) or [zip] (3.41 MB)&lt;BR&gt;objc++&lt;BR&gt;(Objective-C++ support) 	[tar.gz] (3.66 MB) or [zip] (3.53 MB)&lt;BR&gt;For previous releases and source code, see the TDM-GCC download page on SourceForge.&lt;BR&gt;GCC is supposed to support language XYZ! Why isn't there a language pack available for it?&lt;BR&gt;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!&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;installation&lt;BR&gt;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:&lt;BR&gt;&lt;BR&gt;    * binutils (binutils-2.18.50-20080109-2.tar.gz, 5.81MB)&lt;BR&gt;    * mingw-runtime (mingw-runtime-3.14.tar.gz, 494KB)&lt;BR&gt;    * w32api (w32api-3.11.tar.gz, 1.55MB)&lt;BR&gt;&lt;BR&gt;You might also want to install:&lt;BR&gt;&lt;BR&gt;    * mingw-utils (mingw-utils-0.3.tar.gz, 1.51MB)&lt;BR&gt;    * mingw32-make (mingw32-make-3.81-2.tar.gz, 95KB)&lt;BR&gt;    * gdb (gdb-6.6.tar.bz2, 1.80MB)&lt;BR&gt;&lt;BR&gt;You'll need GDB particularly if you want to use an IDE with debugging support.&lt;BR&gt;&lt;BR&gt;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.&lt;BR&gt;&lt;BR&gt;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.&lt;BR&gt;&lt;BR&gt;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.&lt;BR&gt;&lt;BR&gt;All-in-One Installer:&lt;BR&gt;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.&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;usage notes&lt;BR&gt;Exceptions and DLLs:&lt;BR&gt;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.&lt;BR&gt;&lt;BR&gt;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.&lt;BR&gt;&lt;BR&gt;    * 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.&lt;BR&gt;    * 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.&lt;BR&gt;    * 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. &lt;BR&gt;&lt;BR&gt;Dwarf-2 vs. SJLJ unwinding:&lt;BR&gt;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.&lt;BR&gt;&lt;BR&gt;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.&lt;BR&gt;&lt;BR&gt;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.&lt;BR&gt;&lt;BR&gt;Warnings and errors:&lt;BR&gt;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.&lt;BR&gt;&lt;BR&gt;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).&lt;BR&gt;&lt;BR&gt;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.&lt;BR&gt;&lt;BR&gt;OpenMP and pthreads-w32:&lt;BR&gt;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.&lt;BR&gt;&lt;BR&gt;Local Fixes and Changes:&lt;BR&gt;See the Development page for information on patches to the vanilla sources included in the TDM-GCC releases.&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;bugs and known issues&lt;BR&gt;&lt;BR&gt;    * [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.&lt;BR&gt;    * [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) &lt;BR&gt;&lt;BR&gt;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.&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;source code&lt;BR&gt;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.&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;license&lt;BR&gt;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.&lt;BR&gt;&lt;BR&gt;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.&lt;BR&gt;&lt;BR&gt;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.&lt;BR&gt;&lt;BR&gt;You should have received a copy of the GNU General Public License along with this program. If not, see http://www.gnu.org/licenses/.&lt;BR&gt;&lt;BR&gt;&lt;BR&gt;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.&lt;BR&gt;&lt;img src ="http://blog.vckbase.com/bastet/aggbug/33116.html" width = "1" height = "1" /&gt;</description></item></channel></rss>