d游戏编程入门经典

d游戏编程入门经典

ID:23122779

大小:90.53 KB

页数:125页

时间:2018-11-04

d游戏编程入门经典_第1页
d游戏编程入门经典_第2页
d游戏编程入门经典_第3页
d游戏编程入门经典_第4页
d游戏编程入门经典_第5页
资源描述:

《d游戏编程入门经典》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库

1、3D游戏编程入门经典无忧书籍网www.51shuji.com如果熟悉了如何利用clr(公共语言运行库)编写代码后,在面临选择开发语言时,您可能已经知道了您的选择。在visualstudio.net产品的最新版本中,当编写托管代码时,可以使用4种语言:c#、visualbasic.net、managedc++和j#。此外还可以使用从visualstudio.net产品之外的第三方销售商处获得的其他语言,例如cobol或者fortran。尽管本书中将讨论的概念可以很容易地移植到任何完全兼容cls(通

2、用语言规范)的语言,但实际的代码将仅包含所提到的前两种语言:即c#和visualbasic.net。本书中将仅使用c#代码。您可以从http://www.tupwk.com.cn/downpage中下载本书配套的安装文件,获取相关代码。在本章中,您将学习到:●定义.net●托管代码●使用visualstudio.netide●在命令行中编译托管代码●开发人员●游戏开发过程●工具1.1什么是.net?自从microsoft公司宣布并发行.net之后,人们一直在尝试指出这种新“事物”到底是什么。根据

3、microsoft公司的市场活动,人们知道它将对计算产生革命性作用。这是一个很宏远的目标,现在断言它是否能够完成目标还太早。但是,它正在一步步地向此目标努力。当人们讨论.net时,无法确定他们正在讨论.net的哪个部分。microsoft公司发行的其他“产品”或“思想”都不具有如此多的不同形式。紧随.net名字的是众多的产品、服务,甚至是概念,因此指出.net实际上是什么,是非常困难的。当本书中讨论.net时,它指从.netframeworksdk中可获得的新的开发语言和运行库。该sdk包含.n

4、et运行库。而.net运行库包含运行为.net环境编写的应用程序所需要的所有东西。可以认为.net运行库由几部分组成。clr的部件驻留在gac(globalassemblycache)中。也包括microsoft.net语言的编译器(c#、vb.net、vj#等等)。可以在图1-1中看到gac。图1-1gac人们对运行.net代码的最常见误解之一是,代码是“解释执行的”,像java代码或者老的visualbasic运行库一样。事实上,为.net编写的代码在执行前首先被编译。当编译.net应用程序

5、时,它被编译为一种中间语言(il,intermediarylanguage)。这种il实际上存储在可执行文件中或者已经创建的库中。il可能在两个位置中的某一处被编译为本机代码(nativecode)。在安装代码时,可以执行一个称为ngen(nativegeneration,即本机生成器)的进程。它将il直接编译为本机代码,并将所编译的本机代码存储在gac中的特定位置——本机程序集缓存(nativeassemblycache)中。假设在安装时没有编译代码,则代码在第一次执行前必须被编译。在应用程序

6、启动期间,.net运行库中一种称为jit(justintime)编译器的特殊功能在后台执行编译工作。在后一种情形中,因为发生在后台的编译工作,应用程序的启动时间将受到影响。当启动时间对应用程序非常重要时(例如正在编写游戏时),确保在安装阶段包含ngen步骤是比较明智的。但是,在这期间无法进行某些优化,而如果利用jit编译代码,则可以进行这些优化,因此如果启动时间不是很重要,则可以让.net运行库处理它所能够做的工作。在本书中将经常提到托管代码。在全书中使用的api被称为managed的direc

7、tx,.net语言常被称为托管语言。术语“托管”来源于.net运行库具有一个内置的内存管理器这一事实。在“过去”(只是几年前),使用c和c++编写代码的开发人员不得不自己进行内存管理。当不再需要已分配的内存空间时,必须将其释放,除非希望该内存被“泄漏”,内存泄漏将带来严重的性能问题。更糟糕的是因为直接处理指针,而它很容易破坏项目正在使用的内存。在很多情况下,这将导致很长时间的故障调试,因为通常实际看到出错的地方并不是内存初始被破坏的地方。人们认为c和c++语言难于掌握,主要是因为具有很多这种类型

8、的问题。许多开发人员不愿意尝试c和c++,也是因为这个原因,他们尝试使用其他没有这些令人头痛问题的高级语言,例如visualbasic。尽管这些新语言具有易用易学的优点,但也具有一些缺点。它们的性能无法与c和c++语言相比,在大多数情况下显得特别慢。另外,因为底层操作系统是使用c++开发的,所以这些语言难以实现c++的所有功能。尽管可以使用它们处理很多非常好的工作,但是如果想要获得操作系统的所有性能和优势,只能依靠自己。与.net运行库的第一个版本相比,.net的大多数内容都已经改变了。micr

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。