自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

jadeshu的博客

游戏编程,windows编程,linux编程

  • 博客(521)
  • 资源 (8)
  • 收藏
  • 关注

原创 打造简单OS-总目录

1-汇编写入引导区,虚拟机启动步骤(了解即可)2-开机BIOS初始化与MBR操作系统引导详解(了解即可)3-MBR引导区转移加载简单程序(突破512限制)(了解即可)4-loader硬盘加载和C++写入文件(重点)5-进入保护模式6-内存分页7-加载内核8-中断9-内存管理10-线程11-进程12-文件系统管理个人用的记录CPU...

2019-06-23 19:49:29 488

原创 <0>Cocos Creator学习目录

目录 安装和启动 文件结构 编辑器基础 基本概念 (场景树 节点 坐标 组件 ) Cocos Creator 脚本简介 Cocos Creator调试 节点 cc.Node 组件开发cc.Component cc.Sprite组件​​​​​​​ 系统内置和全局事件系统 GUI--cc.Butt...

2018-11-05 20:19:09 1475

原创 消失模几种浇道简介

浇注系统是铸型液态金属进入型腔的通道之总称,基本组元有:浇口杯、直浇道、直浇道窝、横浇道和内浇道!!直浇道是金属液进入模具型腔时首先经过的通道,也是压力传递的首要部位,因而其大小会影响金属液的流动速度和填充时间。作用: 从浇口杯引导金属向下,进入横浇道、内浇道或直接导人型腔。提供足够的压力,使金属液在重力作用下能克服各种流动阻力,在规定时间内充满型腔。直浇道常做成上大下小的锥形,等断面的柱形和上小下大的倒锥形。对铝、镁合金铸件,也用蛇形、片状和缝隙式的直浇道。横浇道...

2021-11-02 19:59:54 1103 1

原创 消失模铸造工艺

1.冒口系统设计2.浇注温度控制3.浇注操作控制4.负压控制浇注最忌讳的是断续浇注,这样铸件产生冷隔缺陷,即先浇注的金属液温度降低

2021-11-02 19:48:41 325

原创 solidwords备用

一、基础1、F最大化全图显示,选中指定面可以点击正视于,展示正视当前面2、ctrl+中键 -->平移3、中键滚动 -->缩放4、中键拖动 -->旋转 《右键也有旋转命令》5、ESC退出二、圆柱...

2021-10-13 22:03:33 246

原创 CAD总结

选择CAD经典模式1.op 选项设置2.un 单位设置3.常用ESC和SPACE键 ESC 取消键 SPACE键为确定键和重复上一次的动作3.选择方式:点选和框选 框选分为:左选和右选 左框选时不完全包住图形则不选中,右框选时只要包含图形一部分即可选中4.L(l)画直线命令...

2021-08-03 23:18:51 1985

原创 Centos6更换源

以前的6版本都取消了可以使用vault.centos.org作为更新源!!!CentOS官方:http://vault.centos.org/阿里云镜像:http://mirrors.aliyun.com/centos-vault/解决方案1、关闭fastestmirrorvi /etc/yum/pluginconf.d/fastestmirror.conf#修改参数enable=02、将原来的源备份mv /etc/yum.repos.d/CentOS-Base.re

2021-07-01 13:43:25 1031

原创 linux网页运行版

1.在线运行https://bellard.org/jslinux/2.简单版本https://www.masswerk.at/jsuix/index.html

2021-05-24 18:22:52 13691 1

原创 jmp far

jmp 0x20:0x0123分析步骤:1.段选择子拆分 0X20 = B100000 ===>TI = 0;RPL=0;INDEX = 42.查DGT表得到段描述符 TI = 0 ,所以查找GDT表 INDEX=4 ,可找到对应的段描述符 四种情况可以跳转:代码段、调用门、TSS任务段、任务门3.权限检查 如果是非一致性代码段,要CPL==DPL并且RPL <= DPL 如果是一致性代码段(即代码共享),要求CPL>=DPL...

2021-01-01 22:22:47 536

原创 软件常用设置---自己备用

留存复制使用1.VC----1.1VC项目设置 输出目录: $(SolutionDir)../bin/$(platform)/$(Configuration) $(ProjectDir)../bin/$(ProjectName)/$(platform)/$(Configuration) 中间目录:$(SolutionDir)....

2020-12-14 18:04:08 351

原创 centos搭建LAMP环境

1.搭建 MySQL 数据库安装 MySQLyum install mysql-server -y安装完成后,启动 MySQL 服务:service mysqld restartcentos7系统高级版本systemctl restart mysqld.service设置 MySQL 账户 root 密码:(下面命令中的密码是123456。如果设置其它密码,请把密码记住。)/usr/bin/mysqladmin -u root password '123456'2.

2020-12-06 23:16:33 81

原创 广播和组播

广播和组播分为两个层面,其中 MAC 层有广播和组播对应的地址,IP 层也有自己的广播地址和组播地址。广播比较简单,MAC 层的广播为 ff:ff:ff:ff:ff:ff,IP 层指向子网的广播地址为主机号为全 1 且有特定子网号的地址。X.X.X.255组播复杂一些,MAC 层中,当地址中最高字节的最低位设置为 1 时,表示该地址是一个组播地址,用十六进制可表示为 01:00:00:00:00:00。IP 层中,组播地址为 D 类 IP 地址,当 IP 地址为组播地址的时候,有一个算法可以计算出对

2020-12-06 22:58:23 387

转载 Linux内存管理

1、物理内存1.1页框1.2整页分配Buddy(伙伴)分配算法Linux内核引入了伙伴系统算法(Buddy system),什么意思呢?就是把相同大小的页框块用链表串起来,页框块就像手拉手的好伙伴,也是这个算法名字的由来。具体的,所有的空闲页框分组为11个块链表,每个块链表分别包含大小为1,2,4,8,16,32,64,128,256,512和1024个连续页框的页框块。最大可以申请1024个连续页框,对应4MB大小的连续内存。伙伴系统因为任何正整数都可以由2^n...

2020-12-06 22:57:48 157

原创 centos搭建Git服务器仓库

1.下载安装 git1.1安装依赖库和编译工具为了后续安装能正常进行,我们先来安装一些相关依赖库和编译工具yum install curl-devel expat-devel gettext-devel openssl-devel zlib-devel安装编译工具yum install gcc perl-ExtUtils-MakeMaker1.2下载 git选一个目录,用来放下载下来的安装包,这里将安装包放在/usr/local/src目录里cd /usr/local.

2020-12-06 22:57:20 223

原创 GRUB软盘和硬盘在虚拟机中启动系统内核

平台选择:1.linux上 需要安装bochs工具,gcc,nasm1.1目录结构 Demo | +--src +--fd +--hd1.2运行 不使用bootloader,直接使用grub去加载系统内核。1.3Bochs配置megs: 32romimage: file=/usr/share/bochs/BIOS-bochs-latest, address=0xf0000...

2020-11-27 18:07:56 694

转载 linux多线程

Linux中多进程是内核本身就支持的,而多线程则需要Thread库来支持。编译的时候需要带上 -l thread命令gcc main.c -o main -l pthread线程API1. 线程创建APIint pthread_create(pthread_t * thread, pthread_attr_t * attr, void * (*start_routine)(void *),void * arg)参数:thread:返回创建的线程的ID attr:线.

2020-11-19 01:03:03 233

原创 TCP网络编程

一、网络编程常用八个函数1.int socket(int domain, int type, int protocol); //#include <sys/socket.h>2.int bind(int socket, const struct sockaddr *address,socklen_t address_len); //#include &...

2020-11-08 00:47:08 148

原创 UDP网络编程

一、UDP场景应用:1.网络下载 。选择UDP,因为UDP没有流量限制;2.游戏。选择UDP,需要实时传输,而TCP不能满足,TCP对于数据的确认有延迟ACK;二、UDP编程1.sendto2.recvfrom

2020-11-07 22:59:34 241

原创 C++中new、delete构件三种方式

1. new delete1.1 new分为两步:  a、内存分配    Ⅰ、内部调用全局的operator new(......)函数分配内存 Ⅱ、如果类中重载了operator new(......)函数,则调用这个重载的函数  b、构造函数    再调用相应的构造函数 1.2 delete 对应new方式的释放内存,分为两步 a、析构函数 调用一次析构函数 b、释放内存    Ⅰ...

2020-11-01 01:33:46 578

原创 C++模板、泛化、特化

一、模板1.1类模板(class template)template<typename T>class xxx{};1.2函数模板(function template)template <typename T>void xxxx(T & x, T & y){......}1.3成员模板(member template)template <typename T>class xxx{publ...

2020-10-29 22:25:39 2012

转载 <13>Lua 协程coroutine

什么是协同(coroutine)?Lua 协同程序(coroutine)与线程比较类似:拥有独立的堆栈,独立的局部变量,独立的指令指针,同时又与其它协同程序共享全局变量和其它大部分东西。协同是非常强大的功能,但是用起来也很复杂。线程和协同程序区别线程与协同程序的主要区别在于,一个具有多个线程的程序可以同时运行几个线程,而协同程序却需要彼此协作的运行。在任一指定时刻只有一个协同程序在运行,并且这个正在运行的协同程序只有在明确的被要求挂起的时候才会被挂起。协同程序有点类似同步的多线程,在

2020-09-08 23:26:20 354

转载 <12>Lua文件IO

Lua I/O 库用于读取和处理文件。分为简单模式(和C一样)、完全模式。简单模式(simple model)拥有一个当前输入文件和一个当前输出文件,并且提供针对这些文件相关的操作。 完全模式(complete model) 使用外部的文件句柄来实现。它以一种面对对象的形式,将所有的文件操作定义为文件句柄的方法简单模式在做一些简单的文件操作时较为合适。但是在进行一些高级的文件操作的时候,简单模式就显得力不从心。例如同时读取多个文件这样的操作,使用完全模式则较为合适。打开文件操作语句如下:f

2020-09-08 23:21:13 181

原创 <3>Lua函数

Lua 函数主要有两种用途:1.完成指定的任务,这种情况下函数作为调用语句使用; 2.计算并返回值,这种情况下函数作为赋值语句的表达式使用。函数定义Lua 编程语言函数定义格式如下:optional_function_scope function function_name( argument1, argument2, argument3..., argumentn) function_body return result_params_comma_separateden

2020-09-08 22:50:21 275

转载 特权级之间的转换

一、特权级 在IA32的分段机制下,特权级总共有4个特权级别,从高到低分别是0、1、2、3。数字越小表示的特权级越大。特权级如下图所示:较为核心的代码和数据,将被存放在特权级较高的层级中。处理器将用这样的机制来避免低特权级的任务在不被允许的情况下访问位于高特权级的段。二、一致代码段和 非一致代码段 系统要安全,必须保证内核与用户程序分离开,内核要安全,必须不能被用户来打扰。但是有的时候,用户程序也是需要访问内核中的部分数据,那怎么办?于是操作系统就将内核中的段分...

2020-09-08 00:14:26 1107

原创 CPL、DPL和RPL

(1)CPL  CPL是当前执行的程序或任务的特权级。它被存储在CS和SS的第0位和第1位上。通常情况下,CPL代表代码所在的段的特权级。当程序转移到不同特权级的代码段时,处理器将改变CPL。只有0和3两个值,分别表示用户态和内核态。(2)DPL  DPL表示段或门的特权级。它被存储在段描述符或者门描述符的DPL字段中,当当前代码段试图访问一个段或者门(这里大家先把门看成跟段一样),DPL将会和CPL以及段或者门选择子的RPL相比较,根据段或者门类型的不同,DPL将会区别对待。 GD..

2020-09-07 23:59:34 2922

原创 ubuntu20.4上不网、进不了root和编译内核出现:cc1: error: code model kernel does not support PIC mode

1.ubuntu20.4上不了网1.1、删除NetworkManager缓存文件service NetworkManager stoprm /var/lib/NetworkManager/NetworkManager.stateservice NetworkManager start1.2、修改vim /etc/NetworkManager/NetworkManager.confmanaged=true1.3、重启NetworkManagerservice net..

2020-09-06 23:14:58 1127

原创 centos7 ubuntuX64上编译linux内核

1.网上下载你要的linux源码版本www.kernel.org或者https://mirrors.edge.kernel.org/pub/linux/kernel/2.解压放到你想要放的位置并cd到该目录linux源码目录下3.复制config配置文件 cp /boot/config-xxx ./.config4.make menuconfig 如果出错error: curses.h ,请进入https://jadeshu.blog.csdn.net/article...

2020-09-06 17:27:19 318

原创 centos7 X64上编译linux内核4.X源码出错(error: curses.h)

1.出错2.解决错误提示curses.h 这个文件找不到,需要在从yum源上查找curses相关的包2.1安装ncurses2.2安装ncurses-dev3.执行make menuconfig

2020-09-06 16:52:05 327

原创 MBR结构

1.MBR结构图: 表1 64 Byte 就只能划分 4 个主分区。每个分区的 16 字节的规划如下表 2 所示。表 2 分区表内容 存储字节 数据内容及含义 第 1 字节 引导标志 第 2 字节 本分区的起始磁道号 第 3 字节 本分区的起始扇区号 第 4 字节 本分区的起始柱面号 第 5 字节 分区类型,可以识别...

2020-08-30 01:56:00 716

原创 Qt绘图和绘图设备

1.QPainter绘图系统1.1QPainter与QPainterDevice Qt绘图系统允许使用相同的API在屏幕和其他打印设备上进行绘制,整个绘图系统基于QPainter,QPainterDevice,QPaintEngine三个类。 QPainter用来执行绘制的操作 QPainterDevice是一个二维空间的抽象,这个二维空间允许QPainter在上面进行绘制,即QPainter工作的空间 QPaintEngine提供了画笔(QPainter)在不...

2020-07-12 17:41:10 1199

原创 Qt event事件

event主要是做事件分发bool event(QEvent* e)返回值如果是true代表已被处理,返回false系统默认处理,最好抛给父类处理

2020-07-12 17:15:31 714

原创 makefile

1.格式 (三要素:目标 依赖 命令规则)目标:依赖TAB键 命令规则 默认make文件时处理的是第一个目标文件 具体处理指定目标 ,需要make指定 ,如make test (其中test就是指定目标)2.变量如下面的obj3函数 wildcard:通用符搜索 patsubst:替换#get all .c filesSrcFiles=$(wildcard *.c)#将获取的.c文件替换为.o文件名SrcFiles1=$(patsubs...

2020-07-12 16:52:03 154

原创 C++面向对象注意点

1、class 中const成员函数2、class中数据成员初始化尽量在构造函数的初始化列表中3、class中的成员函数参数传递尽量用引用4、class中的成员函数返回值尽量用引用返回...

2020-07-12 16:51:17 134

原创 Q_OBJECT

#define Q_OBJECT \public: \ Q_OBJECT_CHECK \ QT_WARNING_PUSH \ Q_OBJECT_NO_OVERRIDE_WARNING \ static const QMetaObject staticMetaObject; \ virtual const QMetaObject *metaObject() const; \ virtual void *qt_metacast(const char *); \.

2020-07-12 16:48:26 209

原创 Qt5控件

控件简介一、按钮1.1PushButton按钮1.2ToolButton 工具按钮多用于显示图片 ToolButtonStyle 修改风格 autoRaise 透明风格1.3RadioButton单选按钮 setChecked(true) 设置被选中1.4CheckBox多选按钮stateChange信号 信号返回值有 0 未选中 1半选中(某些情况下有子类未全选中的) 2.选中(全选)二、Widget2.1ListWidget控件[win32 lis...

2020-07-12 16:35:08 389

原创 Qt5定时器

一、定时器使用方法一 timerEvent事件void timerEvent(QTimerEvent *event) override; 启动定时器startTimer(ms) 返回值是定时器IDstartTimer(2000); 区分定时器QTimerEvent内的timerIdint tmId = event->timerId();二、定时器使用方法二 使用QTimerQTimer *pTimer = new QT...

2020-07-12 16:34:40 730

原创 QT快捷键

运行 ctrl + r编译 ctrl + b查找 ctrl + f自动对齐格式 ctrl + i整行移动 ctrl + shift + ↑ 、↓同名之间 .h .cpp 切换 F4帮助文档(1) F1(/FN+F1) 一次F1在视图右侧,两次F1则铺满视图 ESC退出帮助文档帮助文档(2) 左侧按钮帮助帮助文档(3) QT安装目录下bin/assistant.exe...

2020-07-10 14:50:53 233

原创 函数模板参数左值,右值,引用

#include <iostream>#include <functional>using namespace std;template<class T>void valTest(T t) { cout << "void valTest(T t)" << endl; t++; cout << "t = " << t << endl;}template<class T.

2020-07-09 14:45:00 758

原创 QT标准对话框

1.QFileDialog1.1打开一个文件QString getOpenFileName(QWidget *parent = Q_NULLPTR, const QString &caption = QString(), const QString &dir = QString(), const QString &filter = QString(), QString *selectedFilter = Q_NULLPTR, Options options = Optio

2020-07-01 21:46:46 248

原创 (20)Go网络TCP

一、服务器1.创建服务器func Listen(net, laddr string) (Listener, error)func ListenTCP(net string, laddr *TCPAddr) (*TCPListener, error) //TCPfunc ListenUnix(net string, laddr *UnixAddr) (*UnixListener, error) // Unixln, err := net.Listen("tcp", ":808...

2020-06-08 20:17:02 283

游戏客户端seesion内存管理

当游戏服务器大量连接请求的客户端连接时,需要有效的管理这些会话,因此此代码用内存池进行管理。 客户端seesion内存管理

2019-03-12

Lua C/C++互相调用学习案例

Lua C/C++互相调用学习案例 VS2015 包含Lua源码文件 Lua C/C++互相调用学习案例 VS2015

2019-03-07

portobuf源码 VC编译

portobuf portobuf源码和VC编译文件 包含编译后的库文件和源文件

2018-01-27

第二讲 DX9简单框架程序实例 源码

第二讲 DX9简单框架程序实例 源码

2013-06-08

第一讲 封装简单Win32窗口类和DX入门 源码

第一讲 封装简单Win32窗口类和DX入门 封装的类源码

2013-06-08

panda导出x文件插件(3dsmax2009)

panda导出x文件插件(3dsmax2009)

2012-03-18

DirectX+3D图形与动画程序设计(2-10)源码

DirectX+3D图形与动画程序设计(2-10)源码文件

2011-12-25

易学C++

 本书是为C++程序设计学习者量身订做的辅导书。全书分为3篇。第一篇介绍了面向过程的程序设计,内容包括基本语句、语法基础、函数机制和数据类型等;第二篇介绍了一些实用编程技巧,内容包括阅读代码、调试程序和简单的编程思想等;第三篇介绍了面向对象的程序设计,主要内容包括类和对象、对象生灭、友元、继承等。本书形象生动,通俗易懂,内容涵盖了绝大部分常用的C++知识,可以作为大学计算机专业或非计算机专业的程序设计入门教材,也可供计算机爱好者自学使用。

2011-12-25

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除