Linux C: 信号及异常和捕捉函数原理

#define SIGHUP 1 终端挂起或控制进程终止 #define SIGINT 2 终端中断(Ctrl+C 组合键) #define SIGQUIT 3 终端退出(Ctrl+\组合键) #define SIGILL 4 非法指令 #define SIGTRAP 5 debug 使用,有断点指令产生 #define SIGABRT 6 由 abort(3)发出的退出指令 #define SIGIOT 6 IOT 指令 #define
分类: 其他 发布时间: 11-27 08:07 阅读次数: 0

转:ext2文件系统详解

第一部分磁盘的物理组成磁盘的基本概念:扇区为最小的物理存储单位,每个扇区为512字节。将扇区组成一个圆,那就是柱面,柱面是分区的最小单位。第一个扇区很重要,里面有硬盘主引导记录(Masterbootrecord,MBR)及分区表,其中MBR占有446字节,分区表占有64字节。分区结构体如下的结构体如下:struct partition{ u8 drive; // 0x80 u8 head; u8 sector; u8 cylinder; u8...
分类: 其他 发布时间: 11-27 08:07 阅读次数: 0

Linux C: 文件操作相关的系统调用

一、常见的文件操作相关的系统调用二、st_mode 标志宏定义 值 含义 S_IFMT 0170000 文件类型位域的位掩码 S_IFSOCK 0140000 socket套接字 S_IFLNK 0120000 symbolic link 符号链接 S_IFREG 0100000 常规文件 S_IFBLK 0060000 块设备 S_IFDIR 0040000 目录 S_IFCHR...
分类: 其他 发布时间: 11-27 08:06 阅读次数: 0

Linux C: IO库函数,文件流缓冲,变参函数

一、I/O 库函数与系统调用 在Linux 中有很多关于IO(输入输出)的库函数,其大部分都存在 stdio.h 头文件中。例如fopen,fread,fwrite,fseek,fclose , 这些都是针对文件的,这些函数分别依赖于系统调用open,read,write,lseek,close其中fopen的第二个参数”打开模式“的说明如下:r , w ,a ,+, b,t 分别表示 读、写(清空内容)、读写、追加、二进制文件、文本文件 字符串(char * ) ...
分类: 其他 发布时间: 11-27 08:06 阅读次数: 0

Linux C : TCP/IP 和 网络编程

创建socket;绑定socket和端口号;监听端口号; (UDP省略)接收来自客户端的连接请求;(UDP省略)从socket中读取字符;发送消息回客户机。客户端套接字编程步骤如下创建socket;连接指定计算机的端口; (UDP省略)向socket中写入信息;从服务器接收消息。
分类: 其他 发布时间: 11-27 08:06 阅读次数: 0

原码、反码、补码、移码的表示

若字长n为8时,那么45的二进制表示0 0101101 ,若数值X1.原码 [X]原,在二进制数值中,正数保持不变,负数符号位置1.2.反码 [X]反,的正数保持不变 , 负数对数值的绝对值每一位按位求反3.补码 [X]补,的正数不变,负数在反码末位加14.移码 [X]移, 在偏移2^(n-1),在补码的基础上首位取反
分类: 其他 发布时间: 11-27 08:06 阅读次数: 0

奇偶校验码 和 海明码

在计算机运行时,为保证二进制数据在传输时准确无误,通常利用校验码来检测并纠错传输的数据。所谓码距就是任意合法编码之间至少有多少个二进制位不同。例如: 码距位1的“8 1 4 2” 码对应的二进制分别是 1000,0001,0100,0010. ,当其中一个编码二进制位发生了变化,还是满足码距为1的合法编码。所以,单纯靠码距并不能检验出传输内容中的错误。一、奇偶校验码在编码中增加一位校验位来使编码中的1的个数为奇数或者为偶数,从而使码距变为2.奇校验就是加上校验位来使编码中的1的个数为奇数,偶校.
分类: 其他 发布时间: 11-27 08:05 阅读次数: 0

unity在爆炸问题中,计算爆炸点与玩家的距离

public Vector3 leftTangent,rightTangent;//玩家的左右切点public void PanDing(){ Vector3 playerToExplsion=this.transform.position-player.position;//玩家到爆炸点的向量 Vector3 playerToExplsionDir=playerToExplsion.normalized*radius; //玩家指向爆炸点,长度为半径的向量 float angle =M...
分类: 其他 发布时间: 11-27 08:05 阅读次数: 0

Unity中坐标系转换的一些API

自身坐标转成世界坐标transform.TransformPoint,转换点transform.TransformDirection,转换方向transform.TransformVector,转换向量世界坐标转成自身坐标transform.InverseTransformPoint,转换点transform.InverseTransformDirection,转换方向transform.InverseTransformVector,转换向量世界坐标转成屏幕坐标Camera.main
分类: 其他 发布时间: 11-27 08:05 阅读次数: 0

Unity的富文本语法

UI中TEXT的富文本语法(要勾选rich text)<b>粗体</b><i>斜体</i><size=1>字号</size><color=red>颜色</color>
分类: 其他 发布时间: 11-27 08:05 阅读次数: 0

Unity中适用于大部分情况的音乐脚本

using System.Collections;using System.Collections.Generic;using UnityEngine;public class AudioManager : MonoBehaviour {//单列模式,此脚本可以直接在其他脚本调用 public static AudioManager Instance; public AudioSource bgmPlayer; public AudioSource sePlayer;...
分类: 其他 发布时间: 11-27 08:04 阅读次数: 0

Unity寻找资源,当资源数量成百上千时,使用数组的方法,十分耗费性能,所以可以通过键值对的方法来查找资源

using System.Collections;using System.Collections.Generic;using UnityEngine;/// <summary>/// 简单举例,在Resources文件夹中寻找资源名称为“name”的精灵图集资源/// 此模板避免了重复寻找资源,耗费性能/// 需要时,通过类名.方法来使用,列如,调用此脚本寻找名称为8的精灵ResourcesManager.loadSprite(8)/// </summary>p.
分类: 其他 发布时间: 11-27 08:04 阅读次数: 0

Unity场景进度条加载

首先,创建Canvas,在Canvas中创建一个Button和一个PanelButton:点击之后进入场景加载Panel:场景加载面板其次,在panel当中,我们在创建slider和TextText:用来描述进度条的百分比,所以text可有可无,看自己意愿slider :就是我们的进度条了Panel建好后,将SetActive设置为false,因为进度条要在点击Button后才会出现所有gameobject创建好后,我们就可以开始写脚本了。关于进度条的脚本...
分类: 其他 发布时间: 11-27 08:04 阅读次数: 0

Unity利用UI控制音量和音效,保姆级教学

首先,在Canvas中创建子物体Button,button改名,接着在button下创建子物体slider然后,在project中,右键创建Audio Mixer,改名双击打开它,然后点击Master右键点击Volume,选择第一个选项,使它可以被脚本修改,选择后如下接着,打开Exposed Parameters,双击,MyExposedParam,改名(也可以不改)然后,打开slider,将Min Value修改为-80,因为在master中,音量的范围为-80...
分类: 其他 发布时间: 11-27 08:04 阅读次数: 0

Unity中多段跳

要实现多段跳,可以int一个jumpcount用来计算跳跃的次数int jumocount=0;void Update(){ RaycastHit2D hit = Physics2D.Raycast(transform.position, Vector2.down, 0.5f, 1 << 8);//射线检测是否碰到地面 if (hit.collider != null){ jumpCount = 0; }//不等于空,就是碰到地面,跳跃次数归0
分类: 其他 发布时间: 11-27 08:03 阅读次数: 0

Unity单向跳

在unity中单向跳的实现,首先,创建物体,添加碰撞器接着,添加单向跳的组件,PlatformEffector 2D关闭use collider mask,同时将碰撞器中的use by effector打开现在,人物就可以从下面跳,站在上面了...
分类: 其他 发布时间: 11-27 08:03 阅读次数: 0

Unity中Transform child out of bounds的问题

最近在对一个项目中一个物体的子节点进行修改时,发现只要使用了GetChild(),那么就会报错,但是运行没问题,经过一段时间思考,总算弄清楚了问题的来源trf[i]是我创建的transform数组,我这里想把场景中物体的子物体的transform传给它简单说一下原因,这是因为transform每次对transform中child的index进行改变,下一个child的index 会依次减1,也就是说每次child的index进行改变,然后对剩下的子物体childs的index重新赋值所.
分类: 其他 发布时间: 11-27 08:03 阅读次数: 0

Unity随机创造敌人

先说思路,创建一个大的空物体,然后再创建几个子空物体,子空物体就是敌人的出生点,敌人随机在这些点之上创建。有了思路,就开始行动然后创建一个脚本挂在大的空物体上,然后脚本如下 private Transform[] trf;//创建随机点位置数组 public GameObject go;//敌人预制体,自己拖拽 public int enemyCount=0;//敌人数量 void Start() { int count = this.
分类: 其他 发布时间: 11-27 08:03 阅读次数: 0

Unity中简单冲刺技能,加技能图标倒计时UI制作

首先,在Canvas下创建一个image1,改名然后把image1的source image换成技能图片,或者随便一张图片都行接着,在image1下创建子类image2接着,按照下面图片调整source image改成UIsprite(打开旁边的圆圈,划到最底部)然后Image Type改成Filledcolor调一个自己喜欢的颜色,不透明度调低接下来,便可以开始写代码了using System.Collections;using System.Coll.
分类: 其他 发布时间: 11-27 08:02 阅读次数: 0

vue cli4入门搭建脚手架项目

1.安装node.js并配置环境变量下载 | Node.js查看安装版本信息 命令:node -v2.配置淘宝镜像如出现下载缓慢请配置 npm 淘宝镜像:npm config set registry https://registry.npm.taobao.org3.创建脚手架vue cli 工程(1)第一步(仅第一次执行):全局安装@vue/cli。npm install -g @vue/cli安装成功(2)第二步:切换到你要创建项目的目录...
分类: 其他 发布时间: 11-27 08:02 阅读次数: 0