分号是从微软的Visual C网产品经理一个新的每月专栏 - 我们自己的尼克Hodapp。列拟直接线,以微软为你问这些问题,没有其他人可以回答。如果你曾经想知道内部的阴谋的VC编译器,或曾想以知道为什么一个特定的设计决定是的,或者想的内情,卷曲的Visual C问题已stumping你再在这里发表您的问题。每期将覆盖最好的或最有趣的问题。规则很简单:很有趣,使有关Visual C,永远不提的Visual Basic。NET的天使
{S0} C语言开发是一个艰难的人群。我们(和我无耻地将包括自己)往往被视为火箭科学家,虽然有些日子,我觉得我们被许多人认为是鲁莽摩托车团伙,社会渣滓,类型。因此,虽然我们经常高度智能化,我们坚持与强大的,高性能和危险设备播放。而且,往往不是,我们有我们肩膀上的大的芯片。
我们也令人惊讶的感伤船员。要继续进一步比喻,作为一项规则,我们坚持不懈地比较新的自行车模型,以我们的永恒的经典和辩论,他们的功能是否实际上会提高我们的生活方式 - 或更好地保持不变。当打开一个新的高速公路,我们将别想骑它,如果有任何的车速限制(或如果它允许4轮雅痞手机旅游)。
显然,我谈论的Visual C。NET和。NET平台。 (也许,只是也许,Visual Basic和C#是4轮的雅痞手机)。
。NET高速公路已为C保留一个专用车道。这是一个令人欣慰的散落车道上和坡道以及导航和联合国警力道路,在这里我们可以继续呐喊起来,并造成混乱。但是,相反的花哨的新名称的Visual C。NET不是只关心的。NET。事实上,我花了大量时间了解在今天适用的Visual C新功能的开发,他们已经多年的发展与Visual C + + 6.0的代码。
,也许它做的如何,我亲自写的代码(没有俏皮话,请),但我最喜欢的功能之一是在Visual Studio。NET调试器的东西。这是一个坏一个$配件,全功率只适用于为Visual C。
一些开发商认为,VS.NET的IDE造型是从一般的MFC 6.0 IDE中下台。不过,即使他们通常会承认,到调试器的图形用户界面和可用性增强,仅相当于忽视的铬和皮革小时吐和抛光。我们第一次可以打开多个内存查看窗口,码头无模式线程,断点和模块的Windows的IDE,并设置断点,只需点击编辑器左旁。
GUI schmooey?怎么样,如果它croaks一些遗憾,可怜的用户的机器上? (可能是由于别人的代码,当然,)现在你就可以与Visual Studio加载转储文件和看到的那一行代码和堆栈跟踪的应用程序的快照死亡的那一刻 - 完成。微软并没有与Windows XP和发现(和固定)所有的蓝色屏幕(这是不是我们?30%的唯一罪魁祸首?提示
下面是一个无证的调试器礼包:类型'处理'到监视窗口,并将其值设置为"0"(它会弹出一些其他值)。然后看看在输出窗口中看到所有打开的句柄在你的进程(以及它们的类型)列表。文件句柄是伴随着文件的路径。平滑。
另一种高辛烷值的功能的编译器,CRT和调试器的手指。建立用于调试运行时检查赶上四个程序员的共同来源(耻辱!)错误:缩短转换,调用约定不匹配,使用未初始化的变量,当然缓冲区溢出。其工作原理很简单:建立与/ RTC和准备调试程序时,弹出一个消息,告诉你东西是不妥的,在你的代码。修复问题,然后有(shhhh - 不告诉任何人的Visual C是唯一的语言编辑放大器,继续),你不会有你的肮脏的小秘密告诉任何人。
好了,所以不像我你不依靠调试器。使您的应用程序运行得更快,表现出来的一个新功能,EKES允许优化第二次去一旦连接器已经摸透了你的代码是如何所有相互关联的。想想一个涡轮增压发动机 - 这几乎是相同的概念。在乐团的帝国队的年龄告诉我说,他们得到了一个自己的游戏引擎10%的性能提高仅仅通过重新编译。谈纯马力。
如果你还没有意识到现在,我想指出,这些功能是非常高扭矩。你根本就没有找到在Visual Basic中的全程序优化。这样做的原因很简单 - 微软的设计开发,解决问题的不同类组不同的语言和开发工具。我们都看到,从不同角度的生活 - 我买一辆本田,宝马,哈雷?
我的日常工作的一个关键方面是定义为Visual C的产品定位。产品定位,试图设定界限定义的产品,以及如何要使用的产品应该是。 "产品经理"定义的产品定位,并在我的团队,我们有4关键产品:的Visual Basic(阿里Bixhorn和迈克IEM),视觉彗星(就是我),视觉彗星#(Prashant Sridharan),和的Visual J#(布莱恩凯勒)。每天早晨,我们来到工作做好准备的战斗中死亡比赛竞技场。不是开玩笑。这是一件好事,我有我骑自行车的团伙,支持我,因为我的体重只150磅。请不要担心,我可以很激烈,当我穿皮衣和链条。 (大家都觉得对不起布莱恩,谁是新的重量一样125磅的东西。)
一言以蔽之:Visual Basic中是"易"的语言。其重点是对生产力和易用性。你的妹妹做功课使用Visual Basic。你自己也使用Visual Basic中为您构建与ATL的ActiveX组件的快速和肮脏的测试。 Visual C#中是"现代的,创新的语言"务实开发(我更喜欢"Wussie开发"),为建设最合适的"。NET连接的应用程序和组件"(我很想周围放置引号的所有正式的营销行话)。 C#中还侧重于RAD和有时呼吁我们的人群,因为它有分号。但是,从我坐在哪里,它是只有500毫升,并根据供电方式。 Visual J#中,好了,。
我想你会喜欢这个的Visual C是一个系统级语言 - Windows和NET。它是语言的最低水平(诚然有时可能在最困难和最令人费解的方式)该平台的核心服务公开。但随着这一困难和卷积时,Visual C为开发者提供的性能和灵活性的最佳机会。如果你让你的手一点点油腻,谁在乎?对于它的价值,几乎所有目前的微软产品,将继续,写在Visual C(这是唯一的,目标本机Windows的Visual Studio语言)。但是,你知道这一切。
顺便说一下,记住,Visual Basic中最大的市场份额(从而2产品经理??我们现在排在第二位。教您的孩子在C程序中的妹妹,我会是一个非常快乐的人。
我认为最酷的关于C。NET的东西,这是很容易暴露在平台上我们其他语言写的代码和组件。所需的全部是一层薄薄的托管代码和使用/ clr编译。 NET与VB和C#,这是不同全或无时,Visual C不会强迫我们吞下全网的馅饼 - 。我们可以在一个非常精细的方式,使我们的应用程序的一部分运行在CLR上。
俏皮话和肋条一边,事实上是我们的行业发展。在过去的十年中,我们已经看到了新的语言(VB,C#中)和技术管理的运行时出现,提高我们的能力,构建高质量的软件。对于Visual C开发的"净"产品的一部分,只是一个新的轮胎胎面,使我们的代码在CLR州际自由漫游。
现在我认为,大多数Visual C开发至少外围意识到埃弗雷特,在下一个版本的Visual Studio和Visual C。NET。某种奇迹事实证明,此版本(日期尚未发布)将增长近10岁生日的Visual C配合。 (1.0版是在1993年2月推出。我规划的一方,你会邀请。)这是甜蜜的讽刺,考虑到埃弗雷特有望成为一个最显著的升级为Visual C不断,将包括几个主要的新功能。我们的产品路线图中提到的这些第一:ISO C标准的一致性。观看这个空间,我将让您对埃弗里特的最新相关公告通知。
我想我会弥补某些Visual C机车夹克。谁愿意呢?