一个VC的自白――创业与VC的“双城记”

时间:2023-01-06 07:57:33 其他范文 收藏本文 下载本文

一个VC的自白――创业与VC的“双城记”(合集8篇)由网友“岛屿来信”投稿提供,下面是小编为大家整理后的一个VC的自白――创业与VC的“双城记”,仅供大家参考借鉴,希望大家喜欢,并能积极分享!

一个VC的自白――创业与VC的“双城记”

篇1:一个VC的自白――创业与VC的“双城记”

去年开博的时候,金磊曾建议我将“博牌名”称为“双城记”,意为我是创业者出身的VC,既在创业的寨子里呆过,又在VC的寨子里混过,没用这个名字是因为我开博的那几天正值老朋友帅哥投资人陈宇和美女主持人陈蓉结婚,寄给大家的请帖封套上俨然三个大字“双陈记”,这个创意一时间沸沸扬扬成了圈子里的佳话。在风头上再来用“双城记”这个名字,未免会有跟风和盗版之嫌。

创业的山寨和VC的山寨风光是大相径庭、各有千秋、风味各异的。

创业苦,但是苦中有甜。创业是自主的,你有原创的Idea,可以选择自己喜欢的行当,自己的孩子自己喜欢,不管赚钱多少,你可以5年甚至一辈子富有激情地去为之奋斗、与之厮守;赚钱的公司通常目标明确,流程清晰,纪律严明,出了问题可以大刀阔斧该换人换人,该炒人炒人;创业也可以是做好事,创造就业机会,创造产品和服务满足社会需求,创造收入创造利润,有利润就更加好玩了,可以和全体团队分享,可以捐助希望小学……创业是创业者当家作主的干活,创业爽!

当VC也苦,而且有苦说不出。VC是被动的,被别人牵着鼻子走,VC要出去到处转悠,看看谁有好的Idea,找到好的项目往里面砸把钱买张门票,搭人家的车去兜风,方向盘在别人手里,开对开错方向,自己只能在后车厢里嚷嚷,使不上劲儿;VC心急,只想快钱进快钱出,陪不了业主去创建百年老店;团队出了问题,VC也只能干瞪眼,没法把闯祸了的团队给一锅端全炒了,重起炉灶;VC赚了大钱,大部分是要拿去给LP们交公粮的,自己所剩无几……说得极端些,当VC是为他人做嫁衣裳、自己哄自己、自己安慰自己的干活,当VC郁闷!

1. VC脑子里没别的,想的只是钱,而且都是大钱,不能赚大钱的项目VC是不会去问津的,VC的理想是天天撞上可以让你轻轻松松赚得盆翻钵满的项目,当然,世界上这样的项目也真的不太多,即使有的话创业者难道自己不会要去赚这份快钱热钱easy钱,谁会把好事儿全留着给VC?

2. 所以VC要趁虚而入,趁一个潜在的伟大公司还没有开始大桶大桶地进钱来,一把将钱先砸进去,抢占一个将来可以分钱的沙发、板凳……只要这家公司能赚大钱,坐不到沙发板凳,躺地上也行。

3. 所以VC要挖空心思算计,试图能给世界的未来把脉,抢在时间前面、抢在上帝前面跑到终点。电信3G后面是4G、5G……互联网2.0后面是3.0、4.0……VC每天晚上睁大了眼睛裹在温暖的被窝里听《一千零一夜》……故事里的世界比现实中的世界美妙多了,下一个美妙的故事又是什么呢?

4. 天亮了,VC去敲创业者的门,“芝麻芝麻开门”……门开了,创业者在里面正拿着石斧石镰艰苦创业,正苦熬着哪……VC往心里的公式上一套,皱皱眉头:模式太旧,规模化很难,没有爆发性增长,算了算了,换频道吧。

5. VC换了扇门又去敲“芝麻芝麻开门”……门开了,创业者是两个小娃娃在里面在办家家玩游戏玩得正欢,有星球大战,有SNS,视频,虚拟人生……VC皱皱眉头:概念太新,没法赚钱,陪俩孩子玩游戏,还得要砸进去多少银子才能把他们抚养成人啊?不行不行,再看看其它的吧。

6. VC再叫“芝麻芝麻……”,话音没落,门自动地开了,面前出现的是范伟同学手里拎一个“分歧终端机”,嘴里口口声声自语“非诚勿扰”……哎,有了,这玩意儿不错,有创意有想象空间,成熟的市场里的颠覆性产品,14亿人民人人都得买,天天都用得上,说不定哪天还会像iPod那样会跑遍全世界……外加上范伟同学圆头圆脑人也长得不错,简历上名牌学校、大公司的名字比比皆是,就是它了,砸钱!

下面的游戏大伙儿们自己去想象吧……但愿范伟同学走运成功噢!

当VC好累,创业者能被VC看得上眼的实属凤毛麟角,VC呢,能有幸撞上范伟同学的、真的敢于领先砸钱索性砸出它几个刺激故事的也不多,大家还是愿意跟跟风,凑个热闹,图个安全。于是VC也就不Venture了,餐厅、美容院、洗脚店也有VC投……中国就是中国嘛,中国是特殊的地方、特殊的时代、特殊的机遇,没法用美国的现成模式来套,只要能赚钱,什么不能投?!

“VC”和“创业”之间好像总有那么一些对接不上的地方,导致成了致命伤:

* 创业者都理解成功是意外的偶然的,成功的道路上有无数不确定性、机缘、曲折、失败等等,但是VC的判断逻辑是:成功 = 名牌大学学位 + 简历上著名跨国公司的名字 + Idea + 概念 + 故事 + 模式 + 预测……与其说这是成功的轨迹,不如说这是MBA学生的课堂练习,这道公式里是不是缺少了一个不确定的系数?当然VC的这个成功逻辑也不能说有什么大的错误,问题是:VC投资后的所作所为是否尽职,是否能对得起自己的良心,

* 比如说,VC投资后,团队的实际业绩和商业计划书相差十万八千里,VC管不管?VC们大家来盘点一下自己投资的公司吧,数数看有几个是能基本按原定计划甚至超额达标的?少说80%VC所投的公司远远达不到原先故事里的预测,有几个VC敢于站出来发脾气,为投资人的利益义正词严、大刀阔斧采取果断措施终止流血的?VC们多数欲说还羞,一副“犹抱琵琶半遮面”的姿态,继续放断线风筝,希冀风筝在空中飘的时间越长越好……这样的事情在健康的创业企业里、在一个没有VC投资的公司里是绝不容许的,哪个部门经理来找你忽悠,一会儿东一会儿西,只要他不出业绩,创业者你会容许此人长期在公司里这样呆下去吗?!相信你不是客气地放他一条活路让他自己走路,就是毫不留情把他拖到菜市口去斩首。

* 某些VC的纵情红颜矫作,造就了一个可爱的奶妈形象,社会上嗷嗷待哺的孩子们吃上了VC的奶就指望着一辈子含着VC的奶头永不断奶。拿不到VC钱的创业者,羡慕的、眼红的有之,冷嘲热讽的也不少,因为他们看不惯那些“有钱人家的孩子”的作风;本来好端端的一个创业者,拿到了VC的钱就变坏,本来穷人的孩子早当家,一旦遇上了个VC奶妈,照样也被养肥惯坏,永远长不大。还有更聪明的“创业者”,他们根本没想过如何去赚顾客的钱,他们挖空心思想的就是如何忽悠VC砸一大把钱,然后风风光光地活上几年,等这个VC的钱被糟蹋光了,再另起炉灶去忽悠别的VC。

* VC反正是拿别人LP的钱去赌博,砸一把过过瘾,输了赔了也不是自己的钱。VC们以把钱投出去为目的,什么时候赚进钱来了,那都是后话。天下哪一个人不晓得钱出去是容易的,钱能不能再回来呢?花钱容易进钱难,如果当VC有昂贵的门槛,砸投资人的钱有条件,钱砸出去了、钱没有回来之前,VC除非把自己的钱垫进去解套,否则谁也不得拍拍屁股摇身一变又换到另一个VC的寨子里混去了,那样的话,别说中欧、长江的MBA们,就连从美林、雷曼出来的投行家们中会有几个愿意把VC作为自己未来职业生涯的第一选择?VC的寨子里,你要时间待久了就不难发现,有几只肥肥的大老鼠在暗地里窜……话要说回来,我们VC中大多数的同志是好的,是有理想的,是努力工作、要求上进、积极靠近组织的。VC里的大老鼠毕竟是少数,但是一粒老鼠屎弄脏了一锅粥。

* 世界上没有十全十美的东西,VC也这样。VC犯的最大的错误是放松在思想上的警惕性,VC喜欢说“我投10个可以死九个,只要一个成了就行”,这句话把VC犯错误的借口都讲绝了,好像VC再犯错误都是特有道理的。创业就不一样了,你到创业的山寨里去混混看,你敢不敢对你老婆说,我有10个创业的Idea,其中9个都是胡扯,可能有一个是可以执行的,看看你老婆愿不愿意砸钱陪你去干?创业是要想好了决一死战的,不成功便成仁。

罪过、罪过……身为VC,时常自感困惑,免不了常常会“身在曹营心在汉”,怀念和羡慕创业生活。我有两个心语心愿,吐出来分享给大家吧:

一. 有朝一日会有人站出来,学习互联网创业者起草《中国互联网行业自律公约》那样,发起起草一份《中国VC从业自律公约》,把不合格、不负责的大老鼠VC逮住关进笼子,不准他们胡乱地砸投资人的钱,不准他们咬死创业者,不准他们连累我们好人VC一起背黑锅;这样的话,VC的山寨会干净很多,VC们再去忽悠LP的钱大概也会容易很多;

二. 有朝一日会有一批成功的创业者来自建“创业者的VC”,重新制定创业投资的游戏规则,由创业者自己来挑选、支持、投资、辅导、监管、提携新一代的创业者和创业企业,创业者自己管理“创业基金”可能更加驾熟就轻,大老鼠“创业者”们是休想到这里来忽悠到钱的;

如果能这样,“创业的山寨”和“VC的山寨”不再各自独立,自相矛盾,各做各的黄粱美梦,VC和创业也不必演“双城记”了,二者将会跑在同一个操作系统上了。

本文来自:blog.sina.com.cn/s/blog_5ce0a6480100chhe.html

篇2:和VC面对面

Paul Grahm相信泡沫还没有产生,创业者不用为他们的商业模式担心而最好的公司是那些有潜力打败旧寡头的公司,Graham是Y Combinator的合伙人,其在山景观的公司致力于早期高科技企业的投资。Y Combinator已经投资的公司包括社会化新闻站点Reddit,在线表单制作工具Wufoo(our coverage),和在线日历网站Kiko,其在上个月eBay网站上以25万美元的价格被拍卖。下一个Y Combinator将会投资的公司将是loopt,一个移动在线服务公司,同时也被Sequoia所投资 。Y Combinator‘s主页上写道:“对于那些有想法,想要钱和一些中肯建议去创业的三两个年青人来说我们是个合适的选择。”

Graham在论述创新和科技领域中的经济方面很有声望。他著有3本书,最近的一本是由O’Reilly出版社出版的Hackers and Painters。PaulGraham.com上刊登了他的一些文章。左边的这张图片是他在今年RailsConf上发表演讲时的一张图。

接下来的一篇采访中,我们讨论了一些对高科技公司小额投资发展趋势,以及Paul对创业模式,Kiko,Web2.0和泡沫的看法。

Marshall:现在一些创业公司面临的一个难处是VC们多数喜欢大规模投资,而小公司对此却没什么兴趣——Digg最能说明问题。当然,一些人也认为情况在改变。那么你是否认为在创业初期的一些小规模投资是否正在成为一种趋势,如果有那么背后的原因是什么呢?

Paul:确实,小规模投资代表了一种趋势,因为它只需更少的成本去创业。如果在先期你只是融到一些钱的话,你会有足够的耐心去做一些决策。而一旦你拿着VC投资的2,3个亿的钱时,那么你往往会在获得回报前就将某个计划放弃掉。

你为了高速的发展而承受着巨大的压力,这往往会导致决策失误。Flickr和Del.icio.us两个网站同时拒绝通常VC投资的方式绝非是个巧合。两者都得到了小额的资金赞助,这是个很不错的做法。如果你也能有效地将企业发展起来,那么你也许也可以这么做。

你刚刚将Digg作为VC投资的案例。他们融资了280万美元,而Digg强有力的竞争对手reddit,仅仅是88,000美元。(因为Y Combinator投资了它,所以我很清楚。)而且reddit不仅有能力竞争,其可靠性,参与强度也是显而易见的。我读过前100个Digg用户贡献 了首页56%的内容这篇文章。而reddit的首页用户贡献的分布面则要更广些。就像Flickr和Del.icio.us一样,口口相传,这也是 reddit健康发展的原因吧。

无论怎么样,一个投资仅88,000美元的公司能和投资额度280万美元的公司相抗衡,这本身就是一个很有趣的事情。这在以前,是不可能有的。

Marshall:你刚刚说有一个好的商业模式并不是最重要的,因为好的公司有责任适时地转变商业模式。也有许多人相信,正是因为缺乏真正有效的商业模式,是我们现在身处泡沫的主要原因之一。你不同意那样的意见吗?

Paul:我要告诉创业者的是一开始不要急着把商业模式赶出来。重要的是把人们需要的东西先建立好。如果你不那么做,你的商业计划再聪明也无济于事。

当然,最后你还是需要一个商业模式的。但是迄今为止的经验表明,如何从一件流行的事物身上赚钱要比如何使一件事物流行起来困难很多。

我因为教导创业者把重心放在如何做出有用的东西而不是担忧如何赚钱而备受指责。但是,那的的确确就是Google的做法。苹果也一样。你最好再想想像这类人们信服的例子。

这是另一个泡沫吗?目前为止,我还不怎么认为。也许有许多创业型公司都开始趋向暗淡,但这并不意味着泡沫。泡沫是大把大把的钱投入到这些前景暗淡的公司里面,打了水漂。现在有越来越多的创业公司的原因在于成本的下降,并非风险基金的增多。

Marshall:你目前有没有对哪一类公司或者哪一种技术特别关注?

paul:很多,

我尤其喜欢那些能利用起网络所具有的巨大力量的事物。就像Sun公司以前说的,网络就是电脑。除了现在是因特网加电话网,而不再仅仅是局域网,网络改变了世界。

坦白说,尽管我是个投资家,但是真正使我兴奋地不是某某某最能赚钱,而是谁能打破旧的垄断。比如说,我喜欢聚合式新闻网站不在于它能赚多少钱,尽管它们赚了不少,而是在于他们让以前的媒体知道了他们的工作是多么的糟糕。

大多数人不理解一个社会驱动的公司能有多么强大的力量。很多事情通过公司产生了巨大的变化。我一直梦想着能投资这样一家公司,它的出现为唱片公司唱起挽 歌。就如你知道的,当你在满足顾客需求的同时,旧有的商业模式被打破。新的商业模式一定会出现,我想,最好的打败那些老家伙的方法,不是通过政治运动,而 是创造出某种东西,代替了他们。

Marshall:你曾经投资了在线日历企业Kiko,其创始人最近在eBay上将公司拍卖了出去。当Kiko拍卖后,你就说道Google Calendar的发布和其与Gmail的整合是Kiko失败的原因。你写到,对于这次创业的最深刻教训可能是:尽量走Google不会涉及的地方,最好 的办法就是,不要设计出Google员工会在工作中用到的某种服务--不知道我这样的总结是否正确?我曾经提到Google Calendar API使得很多事情成为了可能,所以Google击溃了Kiko。那么你是否认为创业公司在在线产品服务应用领域已经无所作为了呢?

paul:对的,概括地很准确。我不建议和Google的强项竞争。那么Google的竞争优势在哪里?第一个就是,创造出他们的开发人员在平时会用到的 一些东西。所以相比于视频分享站点来说,做在线日历他们会更在行些,具体来说,可能是他们的员工不允许在工作的时候看视频。

Google另一个弱势在于他们是一个大公司。我从很多优秀程序员那里听过真实恐怖的故事,官僚主义成了阻碍员工自由发展的障碍。这意味着他们很可能不太会做出什么新奇的东西来,因为怕得罪上面的人。

所以一个创业公司如果其创意如此新奇以至于使负责人都为之兴奋的话,那么就可能与Google相竞争,不管在哪个领域。

不幸的是,对于Kiko,在在线日历方面不像其他应用,疯狂的创意并没有更多发展的空间。我们都知道Google Calendar来了,但是我们希望它是Orkut版的在线日历。很不幸的是,它看起来更像是Gmail版的Calendar,所以现在很明了,因为Google Calendar和Gmail都是Google程序员工作中要用到的产品,而Orkut不是。

Marshall:能不能谈谈,你从Kiko团队出来以后,新投资的公司是哪个呢?

Paul:我现在还不能说,不过可以肯定的是这是我们所投资的最有意思的创意了。实际上,疯狂可能更贴切些。但是,这正是他们想做的。

Marshall:对于“大多数Web2.0技术只吸引相对小众的用户群“的说法,您是怎么看的呢?如果您能将你的经验分享出来使得某项技术能够在市场上获得一席之地,我想,会得到我们读者的欢迎。

Paul:对我而言“web2.0”就是“web”。网络技术吸引的并不是一小部分人。基于网络的邮件服务有着数以百万千万计的用户。网络(因特网和电话网络)现在无处不在。

我们很乐意将我们对技术的看法与大家分享。我们将之印在T-Shirt上,“做人们需要的产品”。如果你要将创业的话语缩减为四字真言的话,那么这四个字是最适合的了。(英语:Make something people want)。

要想做出人们想要产品的最简单的方法就是先做出你最想要的产品。什么是你想要的但是不存在的?比如说,回到90年代早期,我一个朋友为了能够不花费长途电话费打给她女朋友,就写了一个程序将语音转化成了数据。创业的话,这将是个伟大的产品。

如果你年纪稍长或者有某方面的资深经验,你可以尝试做些你自己虽然不喜欢,但是别人可能需要的东西,尽管这是个冒险的旅程。大多数伟大的企业在建立之初似乎都和他们的创办者的需求联系在了一起:Google,Yahoo,Apple甚至是Microsoft。

来自:www.yeeyan.com/articles/view/lalaice/52

篇3:VC问答题

1、实模式与保护模式,为什么要设计这两种模式?好处在什么地方?分别写出各自寻址的

过程。

2、请阅读以下一段程序,并给出答案。

class A

{

public:

A{ doSth() }

virtual void doSth(){ printf(“I am A”);}

}

class B:public A

{

public:

virtual void doSth(){ printf(“I am B”);}

}

B b;

执行结果是什么?为什么?

3、在STL的应用中 map这种key-value的.应用很多,如果key的类型是GUID,该如

何处理?

4、一个内存变量a=5,有5个线程需要对其进行操作,其中3个对a进行加1操作,2个对a进

行减1操作,为了保证能够得到正常结果6,需要使用什么方法?(列出越多越好)

5、描述并比较以下对象:事件,信标,临界区,互斥对象,

6、cdecl、stdcall、fastcall是什么?哪种可以实现个数不定的入口参数,为什么?

篇4:如何写vc实验报告

VC++实验报告

班号:0904101

学号:090410123

姓名:仲维祎

实验一VC++开发环境的熟悉和C++基础知识实验

一、实验目的

1. 掌握C++语言的特点。

2. 掌握C++的各种数据类型及基本运算。

3. 掌握C++各种控制结构及使用技巧。

4. 掌握C++的函数、数组、指针的相关概念和使用方法。

5. 灵活运用C++相关基础知识进行综合程序设计。

6. 回顾面向过程程序设计方法。

7. 熟悉Visual C++的开发环境

8.掌握用应用程序向导创建一个控制台应用项目的方法。

9.掌握源代码文件的新建、打开、保存和关闭等基本操作。

10.掌握Visual C++项目的编译、连接和执行。

11.掌握代码简单语法错误修正和调试的一般过程。

二、实验知识点概念

注意C++中同C的不同之处,包括数据类型,输入输出等相关的差异。

三、实验题目

1. 采用插入排序法,输入10个整数按升序排序后输出。要求编写一个通用的插入排序函数,它带有三个参数,第一个参数是含有n个元素的数组,这n个元素已按升序排序;第二个参数给出当前数组中元素个数;第三个参数是要插入的整数。该函数的功能是将一个整数插入到数组中,然后进行排序。另外还需要一个用于输出数组元素的函数,要求每一行输出5个元素。

2. 有5个学生,每个学生的数据结构包括学号、姓名、年龄、C++成绩,数学成绩和英语成绩、总平均分,从键盘输入5个学生的学号、姓名、3门课的.成绩,计算3门课的总平均分,最后将5个学生的数据输出。要求各个功能用函数实现。

3. 对程序加入断点简单调试。

四、程序思路

五、程序源代码

1:代码如下

#include

using namespace std;

void (char iArray[],int nCount,int nNumber)

{

int i=nCount-1,j=0;

char *iArray2;

iArray2=iArray;

*(iArray2+nCount)=nNumber;//多分配一个空间给传入数据 for(i;i>=0;i--)

{

if(nCount==1)

*iArray=nNumber;

if (*(iArray2+i)<*(iArray+i+1))

{

j=*(iArray2+i);

iArray2[i]=iArray2[i+1];

iArray2[i+1]=j;

}

}

cout<<“the array is ”;

for(i=0;i

{cout<

}

int main()

{

char a[80]={0},i,sArray=0;

for(i=0;i<10;i++)

{

cout<<“please type into numbers”<

cin>>a[i];

if (a[i]<=999999&&a[i]>=0)

{

(a,sArray+1,a[i]);

sArray++;

}

}

return 1;

}

2:代码如下:

#include

using namespace std;

class InfStud

{

public:

int id;

char name[20];

int age;

int cpp;

int math;

int eng;

void print();

int all();

};

int InfStud::all()

{

int all;

all=math+cpp+eng;

return all;

};

void InfStud::print()

{

cout<<“the id is ”<<“ ”<

<<“the name is”<<“ ”<

<<“the age is ”<<“ ”<

<<“the cpp is”<<“ ”<

<<“the eng is”<<“ ”<

<<“the math is”<<“ ”<

<<“the all is”<<“ ”<

<<“the avg is”<<“ ”<

};

void main()

{

InfStud student[5];

int i=0,j;

for(i;i<=4;i++)

{ cout<<“type the id name age c++ eng math in”student[i].id>>student[i].name>>student[i].age>>student[i].cpp>>student[i].eng>>student[i].math; }

篇5:如何写vc实验报告

实验报告

班级:网络Z091

学号:094552

姓名:李丹

一、

1.

2.

二、

1.

2.

三、

1. 实验目的 掌握数据库的基本知识、ODBC程序设计 掌握列表框和组合框控件 实验内容 在VC++6.0中编写程序 数据库应用程序基本设计和购物表设计 编程序 数据库

步骤:设置->控制面板->管理工具->数据源->添加->MicroSoft Access Driver(*mdb) 选择(刚建好的数据库)、数据源名(comp)

定义的变量:CCompanySet m_set;(CCompanySet自己添加的类,基类为CRecordSet)CListCtrl m_list;

CString m_chax;

⑴初始化:

void CCompanyView::OnInitialUpdate

{

m_list.InsertColumn(0,“num”);

m_list.InsertColumn(1,“sex”);

m_list.InsertColumn(2,“age”);

m_list.InsertColumn(3,“wage”);

m_list.SetColumnWidth(0,100);

m_list.SetColumnWidth(1,100);

m_list.SetColumnWidth(2,100);

m_list.SetColumnWidth(3,100);

CString sql=“select * from comp”;

m_set.Open(AFX_DB_USE_DEFAULT_TYPE,sql);//打开记录集

int i=0;

while(!m_set.IsEOF())

{

m_list.InsertItem(i,m_set.m_num);

m_list.SetItemText(i,1,m_set.m_sex);

CString str;

str.Format(“%d”,m_set.m_age);

m_list.SetItemText(i,2,str);

m_list.SetItemText(i,3,m_set.m_wage);

m_set.MoveNext();

i++;

}

m_set.Close();

}

⑵“添加”调出新对话框(IDD_DIALOG1)

创建一个新类CCompDlg,并添加头文件” #include “CompDlg.h””

及成员变量(CString m_num; int m_sex; CString m_wage; int m_age;)

void CCompanyView::OnAdd()

{

CCompDlg dlg;

if(dlg.DoModal()==IDOK)

{

m_set.Open(AFX_DB_USE_DEFAULT_TYPE,NULL); m_set.AddNew();

m_set.m_num=dlg.m_num;

if(dlg.m_sex==0)

m_set.m_sex=“男”;

else

m_set.m_sex=“女”;

m_set.m_age=dlg.m_age;

m_set.m_wage =dlg.m_wage;

m_set.Update();

m_set.Close();

}

}

⑶“删除”

void CCompanyView::OnDel()

{

int i=m_list.GetSelectionMark();

if(i<0)

this->MessageBox(“先选取记录”);

else

{

CString xnum1;

char xnum[10];

int x=m_list.GetItemText(i,0,xnum,10);

xnum1.Format(“%s”,xnum);

CString sql=“select * from comp where num='”+xnum1+“'”; m_set.Open(AFX_DB_USE_DEFAULT_TYPE,sql); m_set.Delete();

m_set.Close();

}

}

⑷“浏览”

void CCompanyView::OnScan()

{

m_list.DeleteAllItems();

CString sql=“select * from

comp”;

m_set.Open(AFX_DB_USE_DEFAULT_TYPE,sql);int i=0;

while(!m_set.IsEOF())

m_list.InsertItem(i,m_set.m_num);

m_list.SetItemText(i,1,m_set.m_sex);

CString str;

str.Format(“%d”,m_set.m_age);

m_list.SetItemText(i,2,str);

m_list.SetItemText(i,3,m_set.m_wage);

m_set.MoveNext();

i++;

}

m_set.Close();

}

⑸“修改”

void CCompanyView::OnEdit()

{

CCompDlg dlg;

int i=m_list.GetSelectionMark();

if(i<0)

{

this->MessageBox(“先选取记录”);

return;

}

CString xnum0,xnum1;

char xnum[10];

int x=m_list.GetItemText(i,0,xnum,10);

xnum1.Format(“%s”,xnum);

dlg.m_num=xnum1;

xnum0=xnum1;

CString str=“select * from comp where num='”+xnum0+“'”; m_set.Open(AFX_DB_USE_DEFAULT_TYPE,str);dlg.m_num=m_set.m_num;

dlg.m_age=m_set.m_age;

dlg.m_wage=m_set.m_wage;

if(m_set.m_sex==“男”)

dlg.m_sex=0;

else

dlg.m_sex=1;

dlg.DoModal();

m_set.Edit();

m_set.m_num=dlg.m_num;

m_set.m_age=dlg.m_age;

m_set.m_wage=dlg.m_wage;

if(dlg.m_sex==0)

m_set.m_sex=“男”;

m_set.m_sex =“女”;

m_set.Update();

m_set.Close();

}

⑹“查询”

void CCompanyView::OnQuery()

{

this->UpdateData();

CString sql;

sql=“select * from comp where num='”+m_chax+“'”; m_set.Open(AFX_DB_USE_DEFAULT_TYPE,sql); m_set.Requery ();

if(m_set.IsEOF())

{

AfxMessageBox(“ERROR”);

return ;

}

m_list.DeleteAllItems();

int i=0;

while(!m_set.IsEOF())

{

m_list.InsertItem(i,m_set.m_num);

m_list.SetItemText(i,1,m_set.m_sex);

CString str;

str.Format(“%d”,m_set.m_age);

m_list.SetItemText(i,2,str);

m_list.SetItemText(i,3,m_set.m_wage);

m_set.MoveNext();

i++;

}

m_set.Close();

}

2. 购物表设计

添加了两个结构体

struct GoodsType

{

char * type;

char * name;

int price;

}goods[]={

“日常用品”,“牙刷”,2,

“日常用品”,“牙膏”,3,

“日常用品”,“毛巾”,5,

篇6:[一个VC的自白 之8] 伟大公司的DNA

“Success. Its a mind game”(成功是意志的较量)-- 分享几幅震撼人心的广告创意吧:

与鲨共泳......

帆船急驶向瀑布的边缘......

跨栏运动员飞跃过巨大的刀片......

接力棒是一根点燃了的 ......

赛马者从一栋摩天大厦顶楼跳向另一栋......

成功,这是意志的较量!

“Success. Its a mind game”是瑞士运动手表TAG Heuer的全球广告宣传的主题,它揭示了运动比赛中从未展示过的画面,运动员们为了获取成功而经历的精神压力极限......这个广告系列获得了无数奖项,包括戛纳国际广告节的金狮奖,

什么叫创意?这才叫创意!

......

创业者们,创业也是意志的较量 -- 哪一家伟大的公司不是意志较量的结果?!

创新的意志

伟大的公司Apple –

Apple公司的CEO乔布斯两起两落,他创建了Apple,却因个性太倔被董事会赶了出来;他创建了Next,却因离开现实世界太远而以破产告终.....但是,失败并没有让乔布斯放弃创造的意志较量,一二不过三,在卧薪尝胆、面壁十年之后,他又射出一箭:iPod。

这回正中靶心,小小的iPod绊倒了一群巨人:索尼、百代、华纳、环球.....iPod在短短几年中成为了风靡全世界的时尚标志,给Apple公司带来将近一半的销售收入和几乎全部利润,它成了Apple的摇钱树和印钞机。人们说iPod集聚了无数种创新,从令人耳目一新的MP3播放器,到客户自助式购买的单曲销售软件平台iTune.....更令人深思的是,为什么在iPod投放市场之前,很多人,包括资深的行业研究专家,都认为这绝对是个异想天开的产品?

创新,是伟大公司必不可少的DNA。

极限的意志

伟大的公司英特尔–

英特尔公司的创始人戈登•摩尔博士一语惊人:世界上的集成电路的集成度会每十八个月翻一番。也就是说,每十八个月,计算机等IT产品的性能会翻一番;或者说相同性能的计算机和IT产品,每十八个月价钱会降一半。虽然这个发展速度令人难以置信,但几十年来英特尔公司的产品开发都是以“十八个月翻番”为目标,与极限的较量使得英特尔的芯片变成了IT行业的心脏。

挑战极限,是伟大公司必不可少的DNA。

专注的意志

伟大的公司Google –

专注做一件事并把它做到极致:搜索。

专注,是伟大公司必不可少的DNA。

持久弥新的意志

伟大的公司IBM –

在百年来历次技术革命中成功地完成了重大的转型......从机械制造到计算机制造,再从计算机制造到服务。蓝色巨人坚持不懈地在新技术方面的研发,它是世界上拥有最多专利的公司(40000万余),也是最慷慨的行业领袖,和许多专利拥有者不同,蓝色巨人和它的开发商、合作伙伴、客户分享专利,它免费向第三方程序员提供了数千项软件的专利和源代码,它成立了“Open Invention Network基金”来推进免费的open-source软件运动......

今天,IBM仍然是世界上员工人数最多、营业额和利润最高的技术公司,

在可以预见的未来,它会随着科技发展的浪潮发展,直到下一次大的技术革命。

适时而变,持久弥新,是伟大公司必不可少的DNA。

伟大的公司的DNA还包括但不止于:

* 简单的 – 简单而清晰的商业模式

* 前瞻的 -- 摸索到具有爆发性的潜在市场需求

* 快速的 -- 及时抓住市场机会

* 更高效益的 -- 更低成本

* 勇敢的 -- 敢于舍弃、敢于冒险、敢于与众不同......

一家伟大的公司,在它诞生的时候就必定具备了某些优秀的DNA。而创业投资的核心任务,在于发现和培育创业公司中所具备的伟大公司的DNA。

早期阶段的创业投资者(VC、天使)是整个产业链上必不可少的、最重要的一环。真正的Sand Hill Road创投基金都是在企业诞生的最早期介入的,早期创投的远见和耐心,结合丰富的后期扩张资本资源,共同造就了美国创投产业的辉煌。他们孵化和帮助了众多早期创业团队,奠定了优秀的企业DNA,创造了像HP、Intel、Yahoo、Sun、Google这些一步步成长起来的伟大公司。

百年中国,是一场大国崛起的意志较量。中国脱离百年的贫弱,跻身于世界强国之列,这是多少人、多少代的梦想?创业在改变中国......中国之强大,中国之鹤立于世界民族之林,需要千千万万的创业者,来创造无数伟大的中国公司。

如果能坐上“时光飞船”,我一定要飞去看看2050年的中国,想象吧,2050年的中国并不遥远......那时候中国一定有无数伟大的公司,可能不少这样的公司今天已经诞生于世了,而它们的创始人,就是现在的你。

我坚信,在2050年时的伟大的中国公司:

* 一定不再是简单的模仿

* 一定不再是国际迂回生产链条延长到中国的零头,挣的只是加工费

* “中国制造”不再是cheap、cheap、cheap的代名词

* 盗版早已经消失

* 一定有自主的IP和中国芯--“China Inside”

* 一定会有走在世界最前沿的技术和商业模式

* 没有欺诈、没有劣质、没有“三聚氰胺”奶粉、“苏丹红”鸭蛋、“ ”多宝鱼

* 创新的品质和品牌将是创业者意志较量的聚焦点......

创业者们,伟大的公司都有它的第一天、第一步。不悔今生,中国的伟大公司必定将由你们一手造就。你和我,一起来铲土,为伟大的中国公司“转基因”工程奠基。

Success. Its a mind game!

本文出自:blog.sina.com.cn/s/blog_5ce0a6480100bc60.html

篇7:VC/PE潜规则

各行业都有其潜规则,VC/PE市场也一样,随着风险投资和股权投资基金对于中国市场的渗透愈益深入,其背景和成分也愈益复杂,企业与投资方的潜台词也更加丰富。想把VC/PE们看个清清楚楚、明明白白,无疑需要一双慧眼:股权投资专家张雪奎讲师在讲学中经常提醒,VC/PE的鲜花背后可能是陷阱,暴风眼里可能最平静,没有感觉的风险最危险,潜规则后面就是风险。

潜规则一:原来VC/PE也讲等级

资本市场本身就是多层级的,投资机构和企业的位置泾渭分明。在智慧方面大基金与小基金没有必然的差别,就象卡车司机不一定比跑车司机技术高超一样。

两者的区别首先资金运规模,大项目私募时金额已经相当可观、IPO时更涉及数十亿计的股票承销。其次是成本,不同水准的基金运作成本天差地远,重量级不够的项目取得的投资收益根本无法覆盖大基金的成本。大型投资机构是摩根、凯雷、软银;中型的有联想投资等大陆、港台风投机构和刚刚进入中国试水的海外基金;小型基金多由海外证券机构或华人发起,对行业的专注度较高。

风投领域虽无明文规定却是等级分明,具体企业适于那个级别的风投机构是不言自明的。

规则二:越投越贵,越贵越投

风投最先在国内“试水”阶段投资的项目一般只有是几十万,一百万的很少见。

随着中国概念在国际资本市场名声鹊起,专门投资中国的VC/PE募集到的金额日益庞大。对VC/PE来说,投资200万美金的项目与万美的项目花费的时间基本相同。所以总的来说呈现越投越贵、越贵越投的现象。但投资机构又有分散风险的理念,计划投入中国IT业的1亿美元分散投到50家比集中投入5家风险小得多。为此风投选择结伴而行,比如10月,摩根、英联、鼎辉三家联手向投蒙牛投入2600万美元。分别管理着成百亿资金的三家投资机构这样做的目的无非分散风险。还有一重动机是搭便车,一家机构花精力考查项目、其它机构直接跟进。被搭便车的机构不仅不以为忤、反而将其视为四两拨千斤的杠杆。比如完成对项目的审查后投入1000万、其它3家机构各跟进1000万(企业共获得4000万),对牵头机构来说等于以1块钱带动了4块钱,杠杆比为1:4。

规则三:注重人脉

通过邮件发送的商业计划书,超过80%都将在5分钟内被否决。风投行业的条条框框本来就少,虽有规则但投与不投常在一念之差。而且在风险遍地的情况下投给朋友介绍的企业总比投给完全不摸底的企业强些。投行机构、专业中介机构(会计师所、律师所、财务顾问公司)、财经媒体和被投资企业构成若干相互交叉的“圈子”,

回过头来看,成功获得投资的企业中90%以上得益于圈内人的推荐。

另一个重要原因是风险投资极为重视创业者的为人。所以,从熟悉且信任的人那里得到企业者的信息会得到风投极大重视。

规则四:近地缘

北京和上海是最受风险投资基金和风险投资家青睐的地方。而海外的经验,比如在硅谷,一般的风险投资家只投资在方圆30公里左右的范围的公司,如果你要拿到这个风险投资家的钱的话,没办法你就搬进去吧。

原因其实也不是很难理解,因为风险投资本身就是要如何去建立公司,如果风险投资家每3个月才去拜访这个公司一次,跟管理层用电话来沟通,那么肯定是没有效率的。你要跟其它的董事,或者是跟公司的高层管理人员要有非常密切的接触,一个礼拜去拜访一次,去讨论一下业务发展的情况等等,才有效果。所以一般的风险投资企业取向是投在他办事处附近的一些企业。

规则五:VC/PE是最昂贵的融资方式

融资本质上是企业与投资人就风险分担与收益分配达成的一种制度安排。企业找都懂得关心基金对自己的估值,殊不知基金对自己也有估价。这个价就是预期回报率:从被投资企业的成功退出获得的内部收益率与实现成功退出的概率相乘。预期回报率的高低取决于资金所有者的“贪婪”程度,主流的量化模式简称。

比如一个企业所在行业的平均投资收益率为33%、国债利息率为3%,通过这样的测算,投资人希望的回报率为每年48%!通俗地说,如果3年后能够成功地从企业退出(企业上市或高溢价出售)投资人要求的总回报率在324%以上。即给你 1000万、3年后要拿走3240万。实际上,由于中国经济的走强及企业的优异表现,风险投资从成功上市企业获得的回报率远高于300%。可见,接纳风投是世界上最最昂贵的融资方式,资金估值公式客观地说明了风险投资高回报率预期的依据。

规则六:VC失手是常事。

VC可能会给经评估有40%概率会倒掉的企业投资。因为一旦该企业成功将给VC带来500%的回报,项目的预期回报率为300%(即:500%X60%)。

所以看似勇猛地追逐风险的VC,实质上追求的是高额回报,风险和收益只要匹配就会有人问津。如果要求基金投资成功率高于95%,期满清盘时计算总的内部收益率(IRR,即为使项目净现值为零的折现率数值)恐怕不到10%,而将投资成功率降低到80%、总的内部收益率也许会超过30%。

从以往风投总的业绩看,它们每投入十个项目有两三个亏本、三四个持平只有两三个成为明星。所以,衡量风险投资家的成功是看他做成了明星项目、基金的总收益率有多高,而不是他是否有过投资败绩。为追求高成功率过多地拒绝企业的投资申请,被拒者中难免会有携程、分众那样的“好苗子”。按照私募股权投资专家张雪奎教授说法就是:VC不能错过(不错过好项目),PE不能做错(安全)。

篇8:VC调试篇

难怪很多前辈说调试是一个程序员最基本的技能,其重要性甚至超过学习一门语言,不会调试的程序员就意味着他即使会一门语言,却不能编制出任何好的软件。

我以前接触的程序大多是有比较成形的思路和方法,调试起来出的问题都比较小,最近这个是我自己慢慢摸索调试,接触了很多新的调试方法,并查了很多前辈的总结,受益匪浅,总结以前的和新的收获如下:

VC调试篇

设置

为了调试一个程序,首先必须使程序中包含调试信息。一般情况下,一个从AppWizard创建的工程中包含的Debug Configuration自动包含调试信息,但是是不是Debug版本并不是程序包含调试信息的决定因素,程序设计者可以在任意的Configuration中增加调试信息,包括Release版本。

为了增加调试信息,可以按照下述步骤进行:

打开Project settings对话框(可以通过快捷键ALT+F7打开,也可以通过IDE菜单Project/Settings打开)

选择C/C++页,Category中选择general,则出现一个Debug Info下拉列表框,可供选择的调试信息方式包括:

命令行

Project settings

说明

None

没有调试信息

/Zd

Line Numbers Only

目标文件或者可执行文件中只包含全局和导出符号以及代码行信息,不包含符号调试信息

/Z7

C 7.0- Compatible

目标文件或者可执行文件中包含行号和所有符号调试信息,包括变量名及类型,函数及原型等

/Zi

Program Database

创建一个程序库(PDB),包括类型信息和符号调试信息。

/ZI

Program Database for Edit and Continue

除了前面/Zi的功能外,这个选项允许对代码进行调试过程中的修改和继续执行。这个选项同时使#pragma设置的优化功能无效

选择Link页,选中复选框“Generate Debug Info”,这个选项将使连接器把调试信息写进可执行文件和DLL

如果C/C++页中设置了Program Database以上的选项,则Link incrementally可以选择。选中这个选项,将使程序可以在上一次编译的基础上被编译(即增量编译),而不必每次都从头开始编译。

调试方法:

1、使用Assert(原则:尽量简单)assert只在debug下生效,release下不会被编译。

2、防御性的编程

3、使用Trace

4、用GetLastError来检测返回值,通过得到错误代码来分析错误原因

5、把错误信息记录到文件中

位置断点(Location Breakpoint)

大家最常用的断点是普通的位置断点,在源程序的某一行按F9就设置了一个位置断点。但对于很多问题,这种朴素的断点作用有限。譬如下面这段代码:

void CForDebugDlg::OnOK()

{

for (int i = 0; i < 1000; i++)//A

{

int k = i * 10 - 2;//B

SendTo(k);//C

int tmp = DoSome(i);//D

int j = i / tmp;//E

}

}

执行此函数,程序崩溃于E行,发现此时tmp为0,假设tmp本不应该为0,怎么这个时候为0呢?所以最好能够跟踪此次循环时DoSome函数是如何运行的,但由于是在循环体内,如果在E行设置断点,可能需要按F5(GO)许多次。这样手要不停的按,很痛苦。使用VC6断点修饰条件就可以轻易解决此问题。步骤如下。

1 Ctrl+B打开断点设置框,如下图:

Figure 1设置高级位置断点

2然后选择D行所在的断点,然后点击condition按钮,在弹出对话框的最下面一个编辑框中输入一个很大数目,具体视应用而定,这里1000就够了。

3按F5重新运行程序,程序中断。Ctrl+B打开断点框,发现此断点后跟随一串说明:...487 times remaining。意思是还剩下487次没有执行,那就是说执行到513(1000-487)次时候出错的。因此,我们按步骤2所讲,更改此断点的skip次数,将1000改为513。

4再次重新运行程序,程序执行了513次循环,然后自动停在断点处。这时,我们就可以仔细查看DoSome是如何返回0的。这样,你就避免了手指的痛苦,节省了时间。

再看位置断点其他修饰条件。如Figure 1所示,在“Enter the expression to be evaluated:”下面,可以输入一些条件,当这些条件满足时,断点才启动。譬如,刚才的程序,我们需要i为100时程序停下来,我们就可以输入在编辑框中输入“i==100”

另外,如果在此编辑框中如果只输入变量名称,则变量发生改变时,断点才会启动。这对检测一个变量何时被修改很方便,特别对一些大程序。

用好位置断点的修饰条件,可以大大方便解决某些问题。

数据断点(Data Breakpoint)

软件调试过程中,有时会发现一些数据会莫名其妙的被修改掉(如一些数组的越界写导致覆盖了另外的变量),找出何处代码导致这块内存被更改是一件棘手的事情(如果没有调试器的帮助)。恰当运用数据断点可以快速帮你定位何时何处这个数据被修改。譬如下面一段程序:

#include “stdafx.h”

#include

int main(int argc, char* argv[])

{

char szName1[10];

char szName2[4];

strcpy(szName1,“shenzhen”);

printf(“%s”, szName1);//A

strcpy(szName2, “vckbase”);//B

printf(“%s”, szName1);

printf(“%s”, szName2);

return 0;

}

这段程序的输出是

szName1: shenzhen

szName1: ase

szName2: vckbase

szName1何时被修改呢?因为没有明显的修改szName1代码。我们可以首先在A行设置普通断点,F5运行程序,程序停在A行。然后我们再设置一个数据断点。如下图:

Figure 2数据断点

F5继续运行,程序停在B行,说明B处代码修改了szName1。B处明明没有修改szName1呀?但调试器指明是这一行,一般不会错,所以还是静下心来看看程序,哦,你发现了:szName2只有4个字节,而strcpy了7个字节,所以覆写了szName1,

数据断点不只是对变量改变有效,还可以设置变量是否等于某个值。譬如,你可以将Figure 2中红圈处改为条件”szName2[0]==“”“”y“”“”“,那么当szName2第一个字符为y时断点就会启动。

可以看出,数据断点相对位置断点一个很大的区别是不用明确指明在哪一行代码设置断点。

其他调试手段:系统提供一系列特殊的函数或者宏来处理Debug版本相关的信息,如下:

宏名/函数名

说明

TRACE

使用方法和printf完全一致,他在output框中输出调试信息

ASSERT

它接收一个表达式,如果这个表达式为TRUE,则无动作,否则中断当前程序执行。对于系统中出现这个宏 导致的中断,应该认为你的函数调用未能满足系统的调用此函数的前提条件。例如,对于一个还没有创建的窗口调用SetWindowText等。

VERIFY

和ASSERT功能类似,所不同的是,在Release版本中,ASSERT不计算输入的表达式的值,而VERIFY计算表达式的值。

Watch

VC支持查看变量、表达式和内存的值。所有这些观察都必须是在断点中断的情况下进行。

观看变量的值最简单,当断点到达时,把光标移动到这个变量上,停留一会就可以看到变量的值。

VC提供一种被成为Watch的机制来观看变量和表达式的值。在断点状态下,在变量上单击右键,选择Quick Watch,就弹出一个对话框,显示这个变量的值。

单击Debug工具条上的Watch按钮,就出现一个Watch视图(Watch1,Watch2,Watch3,Watch4),在该视图中输入变量或者表达式,就可以观察变量或者表达式的值。注意:这个表达式不能有副作用,例如++运算符绝对禁止用于这个表达式中,因为这个运算符将修改变量的值,导致软件的逻辑被破坏。

Memory

由于指针指向的数组,Watch只能显示第一个元素的值。为了显示数组的后续内容,或者要显示一片内存的内容,可以使用memory功能。在Debug工具条上点memory按钮,就弹出一个对话框,在其中输入地址,就可以显示该地址指向的内存的内容。

Varibles

Debug工具条上的Varibles按钮弹出一个框,显示所有当前执行上下文中可见的变量的值。特别是当前指令涉及的变量,以红色显示。

寄存器

Debug工具条上的Reigsters按钮弹出一个框,显示当前的所有寄存器的值。

调试技巧:

1、VC++中F5进行调试运行

a)、在output Debug窗口中可以看到用TRACE打印的信息

b)、Call Stack窗口中能看到程序的调用堆栈

2、当Debug版本运行时发生崩溃,选择retry进行调试,通过看Call Stack分析出错的位置及原因

3、使用映射文件调试

a)、创建映射文件:Project settings中link项,选中Generate mapfile,输出程序代码地址:/MAPINFO: LINES,得到引出序号:/MAPINFO: EXPORTS。

b)、程序发布时,应该把所有模块的映射文件都存档。

c)、查看映射文件:见” 通过崩溃地址找出源代码的出错行”文件。

4、可以调试的Release版本

Project settings中C++项的Debug Info选择为Program Database,Link项的Debug中选择Debug Info和Microsoft format。

5、查看API的错误码,在watch窗口输入@err可以查看或者@err,hr,其中”,hr”表示错误码的说明。

6、Set Next Statement:该功能可以直接跳转到指定的代码行执行,一般用来测试异常处理的代码。

7、调试内存变量的变化:当内存发生变化时停下来。???

进程控制

VC允许被中断的程序继续运行、单步运行和运行到指定光标处,分别对应快捷键F5、F10/F11和CTRL+F10。各个快捷键功能如下:

快捷键

说明

F5

调试/继续运行

F10

单步,如果涉及到子函数,不进入子函数内部

F11

单步,如果涉及到子函数,进入子函数内部

CTRL+F10

运行到当前光标处。

F7

重建

F9

设置断点/清除断点

Ctrl+Shift+F9

清除所有断点

Shift+F5

结束调试

Call Stack

调用堆栈反映了当前断点处函数是被那些函数按照什么顺序调用的。单击Debug工具条上的Call stack就显示Call Stack对话框。在CallStack对话框中显示了一个调用系列,最上面的是当前函数,往下依次是调用函数的上级函数。单击这些函数名可以跳到对应的函数中去。

关注

一个好的程序员不应该把所有的判断交给编译器和调试器,应该在程序中自己加以程序保护和错误定位,具体措施包括:

对于所有有返回值的函数,都应该检查返回值,除非你确信这个函数调用绝对不会出错,或者不关心它是否出错。

一些函数返回错误,需要用其他函数获得错误的具体信息。例如accept返回INVALID_SOCKET表示accept失败,为了查明具体的失败原因,应该立刻用WSAGetLastError获得错误码,并针对性的解决问题。

有些函数通过异常机制抛出错误,应该用TRY-CATCH语句来检查错误

程序员对于能处理的错误,应该自己在底层处理,对于不能处理的,应该报告给用户让他们决定怎么处理。如果程序出了异常,却不对返回值和其他机制返回的错误信息进行判断,只能是加大了找错误的难度。

另外:VC中要编制程序不应该一开始就写cpp/h文件,而应该首先创建一个合适的工程。因为只有这样,VC才能选择合适的编译、连接选项。对于加入到工程中的cpp文件,应该检查是否在第一行显式的包含stdafx.h头文件,这是Microsoft Visual Studio为了加快编译速度而设置的预编译头文件。在这个#include “stdafx.h”行前面的所有代码将被忽略,所以其他头文件应该在这一行后面被包含。

对于.c文件,由于不能包含stdafx.h,因此可以通过Project settings把它的预编译头设置为“不使用”,方法是:

弹出Project settings对话框

选择C/C++

Category选择Precompilation Header

选择不使用预编译头。

便于调试的代码风格:

不用全局变量

所有变量都要初始化,成员变量在构造函数中初始化

尽量使用const

详尽的注释

总结

调试最重要的还是你要思考,要猜测你的程序可能出错的地方,然后运用你的调试器来证实你的猜测。

来自:VC调试篇

一位投资者给女性创业者的建议

创业公司应如何估值?

如何面试才靠谱

如何才能写一份合格的商业计划书

个人简历中10个应该避免的问题

创业者的10个应用

《给你一个亿 你能干什么》(8):CEO的一声叹息

创业者应自问的11个问题

风投计划书

给创业者的一封信

一个VC的自白――创业与VC的“双城记”
《一个VC的自白――创业与VC的“双城记”.doc》
将本文的Word文档下载到电脑,方便收藏和打印
推荐度:
点击下载文档

【一个VC的自白――创业与VC的“双城记”(合集8篇)】相关文章:

该找VC拿多少钱?2022-05-08

有8年投资经验的创业者教你怎样应对投资人2022-05-16

学习编就业前景怎么样怎么学习2022-06-04

创业就是返璞归真:给创业者的一封信2022-07-29

公司的人力资源计划书要怎么写?格式是怎么样?2022-11-26

创业个人投资需要注意哪些方面2023-08-28

创业公司的6个不死法则2024-01-30

商业计划书编写指导2022-08-22

让初创公司脱颖而出的3种方法2023-03-20

上市公司投资的融资约束:从股权结构角度的解释2023-01-23

点击下载本文文档