摘要: MIT的操作系统课程进行了调整,新增了面向本科的6.S801,而6.828变成了研究生课程,相较来说6.S801简单了不少,适合入门,而且实验之间相互独立,非常友好,并且引入了多核处理器,可以学习到多核模式下操作系统的实现机制。今年因为疫情原因,6.S801采用网上直播的教学方式,youtube上放 阅读全文
posted @ 2020-12-11 10:15 银魔术师 阅读(2041) 评论(0) 推荐(0) 编辑
摘要: 首先我们来讨论下游戏开发中的几个坐标系,为了方便解释,我截取了灯塔AOI DEMO当NPC数目为0时候的样子( "代码地址" 觉得有帮助的童鞋记得给我代码点个星^_^) 先对这张图简单说明下: 蓝色的坐标轴表示是灯塔AOI坐标系,绿色的坐标轴表示的是游戏坐标系,向左为X轴正方向,向上为Y轴正方向(这 阅读全文
posted @ 2018-07-26 18:00 银魔术师 阅读(3673) 评论(0) 推荐(1) 编辑
摘要: 天堂加解密代码(Python版) coding: utf 8 from binascii import hexlify, unhexlify def long_to_bytes(val, endianness='big'): width = val.bit_length() width += 8 ( 阅读全文
posted @ 2018-06-14 12:07 银魔术师 阅读(641) 评论(0) 推荐(1) 编辑
摘要: Python允许C扩展模块的编写者定义可以从Python代码操作的新类型,就像内置类型str和list类型一样。所有扩展类型的代码都遵循一种模式,但在开始之前需要了解一些细节。 基础 CPython运行时看到所有Python变量的对象类型都是 (所有Python对象的基类)。PyObject结构本身 阅读全文
posted @ 2018-05-25 17:50 银魔术师 阅读(1068) 评论(0) 推荐(1) 编辑
摘要: 用C或C ++扩展 如果你知道如何用C语言编程,那么为Python添加新的内置模块是很容易的。这种扩展模块可以做两件不能直接在Python中完成的事情:它们可以实现新的内置对象类型,以及调用C库函数和系统调用。 为了支持扩展,Python API(应用程序员接口)定义了一组函数、宏和变量,它们提供对 阅读全文
posted @ 2018-05-25 17:49 银魔术师 阅读(450) 评论(0) 推荐(0) 编辑
摘要: 软件安装 生成protoc 使用VS2012打开build目录下的protobuf.sln文件,在protoc上右键 生成,最终生成的protoc.exe位于build的Debug目录下 向PATH添加protoc.exe路径 剩余步骤参考 "go RPC官方教程" 原生net/rpc 服务端代码 阅读全文
posted @ 2018-05-25 12:17 银魔术师 阅读(300) 评论(0) 推荐(0) 编辑
摘要: 下载MSI "MSI地址" 配置环境变量 GOPATH: 用于存放Go语言Package的目录,这个目录不能在Go的安装目录中 GOBIN: Go二进制文件存放目录,写成%GOROOT%\bin就好 PATH: 需要将%GOBIN%加在PATH变量的最后,方便在命令行下运行Go 下载JetBrain 阅读全文
posted @ 2018-05-25 12:16 银魔术师 阅读(508) 评论(0) 推荐(0) 编辑
摘要: 假如我们要用C语言实现下面的python脚本bird.py 调用脚本main.py 执行效果如下 实现相同逻辑的原始C代码bird.c 下面我们要将原始C代码改造成可以被main.py的python模块: 包含头文件Python.h 添加C函数fly的Python调用版本bird_fly 添加向Py 阅读全文
posted @ 2018-05-25 12:14 银魔术师 阅读(9998) 评论(2) 推荐(0) 编辑
摘要: 你将学到什么 使用GObject模拟实现接口 使用接口 首先按照学习笔记(一)定义一个普通的GObject类 使用 和`G_IMPLEMENT_INTERFACE G_DEFINE_TYPE`来实现类定义 实现接口初始化函数 ,接口内声明的每个虚函数指针都要被赋予实现 扩展接口 如果一个接口的实现依 阅读全文
posted @ 2018-05-25 12:13 银魔术师 阅读(1277) 评论(0) 推荐(0) 编辑
摘要: 定义一个静态类型 / G_DEFINE_TYPE( 比`G_DEFINE_TYPE`就是多了一个自定义代码参数_C_): @TN: 新类型的名字,单词首字母大写,例如:GtkGadget。 @t_n: 新类型的名字,单词全部小写并且用'_'符号分隔,例如gtk_gadget: separated b 阅读全文
posted @ 2018-05-25 12:13 银魔术师 阅读(2064) 评论(0) 推荐(0) 编辑