对游戏引擎的思考(操作系统的作用,类库,unity3d 引擎)

1,操作系统的作用:
管理硬件资源,包括CPU,内存,GPU等。
提供操作硬件资源的类库,也就为软件开发提供了运行的环境。
软件一般是有几个进程构成,进程由线程构成,所以操作系统控制软件的运作其实也就是在控制进程与线程的运作,即线程调度。
API:(应用编程接口)是操作系统留给应用程序的一个调用接口,应用程序通过调用操作系统的 API而使操作系统去执行应用程序的命令。
DLL :为了使用 DLL 中的 API 函数, 必须要有 API 函数的声明(.h)和其导入库(.lib),导入库可以先这样理解:导入库是为了在 DLL 中找到 API 的入口点而使用的。
跟 .exe 文件不同的是,.dll 文件不能直接执行,他们通常由 .exe 在执行时装入,内含有一些资源以及可执行代码等,比如unity引擎。
SDK: 为了使用 API 函数,我们就要有跟 API 所对应的 .h 和 .lib 文件,而 SDK 正是提供了一整套开发 Windows 应用程序所需的相关文件、范例和工具的“工具包”。
类库:类库项目编译为.dll 程序集,在其他项目中添加对类库项目的引用,就可以访问它的内容。

2,unity3d 引擎
https://blog.csdn.net/pizi0475/article/details/46896097 深入理解IOC模式及Unity框架

以下内容纯属猜想,部分是胡扯的:

在android操作系统下的软件,同一时间应该只能运行一个,也就是说,进程之间不会存在冲突,但是线程不同,尽管线程是由操作系统来调度的,线程有自己独立的栈,线程是可以相互共用一些数据,所以可能存在死锁。在windows操作系统下,进程之间的调度是由操作系统来进行的,所以开发者是没法干预的,但是同一个进程下的线程同样存在死锁问题。所以我想表达的是,尽管操作系统在调度线程,但是线程依旧可能存在死锁问题,线程可以说是软件最重要的重点关注的部分,也就是软件的本质。

 

猜你喜欢

转载自blog.csdn.net/tran119/article/details/81510411
今日推荐