Yes

Keep It Simple, Stupid.

LearnGameEngine-c0

Posted at — Dec 5, 2020

Windows平台部署

环境

工欲善其事必先利其器,在学习新的知识前,我们需要准备下趁手的工具,以便更轻松的入门。

在后续的开发中,基本是使用Windows操作系统,当然其他平台(macos,Linux)都是完美支持的,不管怎么样,教程本身目标就是冲着跨平台设计的。

环境安装

  1. 下载安装包main.zip https://pan.baidu.com/s/18WpD_1O6o_f6sn0OMVBRNQ
    提取码 4444
  2. 解压main.zip
  3. 打开main.exe等待黑窗口消失
  4. 黑窗口消失就算是安装结束

视频演示

在线观看:

终端

完成后可以像视频中那样操作,验证环境是否安装成功。
注意视频中2:42秒的时候,使用了vim a.cpp, vim是一个编辑器,新人一般都不太熟悉这款编辑器,你要是不小心执行了vim命令,要退出需要这样操作: 1. 按下Esc键,松开Esc键 2. 按下Shift不松手 3. 按下Z,抬起Z 4. 按下Q,抬起Q 5. 抬起Shift

怎么样,够麻烦吧。vim的内部指令多的不行,但是所有的黑客都喜欢vim,欧不,网上称是手小的黑客才喜欢vim。

环境内部内置了另外一款图形化编辑器”Code”,它不像vim那样寄生在终端(黑窗口)里,在我们要编辑一个文件的时候,使用

Code 喵啊.txt

的命令去编辑文件,所以我们可以把视频2:42秒的vim a.cpp替换为Code a.cpp来进行操作,修改好文件别忘记Ctrl+S保存。

阻塞与非阻塞

在我们在终端(黑窗口)运行Code a.cpp时,终端会持续”卡”住,等待Code编辑器执行完成后,才能继续使用终端,终端里面的任何命令,在执行的后,终端都会默默的等待他运行完成。

为什么会这样呢?很简单。
假设有两个命令

cp ./a.mp4 ./b.mp4
cp ./b.mp4 ./c.mp4

第一行命令是复制(Copy缩写)当前目录下的a.mp4到当前目录并命名为b.mp4
第二行命令是复制(Copy缩写)当前目录下的b.mp4到当前目录并命名为c.mp4
如果我们的终端(黑窗口)不等待第一行命令执行完的话,如果a.mp4有5GB大小,拷贝5GB很慢,还没拷贝完,就执行了第二行命令,最终会把不完整的b.mp4拷贝到c.mp4,这样c.mp4就是损坏的文件。
所以为了安全,我们必须等待一个程序运行完,再执行下一个程序,这样的模式称为阻塞模式(Block)。

但是如果我们有两个顺序无关的程序需要打开挂在后台,例如文本编辑器和画图,要一起使用怎么办?总不能用完退出一个APP再打开另外一个吧?
为了多任务并行工作,启动好一个程序,不等程序运行结束,就允许启动下一个程序,这样的模式称为非阻塞模式(NonBlock)。

对于非阻塞模式,Windows系统提供了一个命令可供使用: start

start命令的使用方法:

start Code
start mspaint

这样我们就能同时以非阻塞的方式运行两个APP了。
同时也能追加参数:

# 非阻塞的方式运行Code文本编辑器编辑喵喵.txt文件
start Code ./喵喵.txt  
# 非阻塞的方式运行mspaint画板编辑旺旺.jpg文件  
start mspaint ./旺旺.jpg  

有了start命令我们可以做很多的事情,比如start 网易云.exe start qq.exe 等等,然后放在一个sh脚本中,需要运行一批软件的时候只要执行:

sh 工作程序脚本.sh 

就可以打开一批工作要用的软件。

sh脚本后面再讲。