自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

ultraji的博客

https://ultraji.xyz

  • 博客(24)
  • 资源 (3)
  • 收藏
  • 关注

原创 linux-0.12实验环境

项目地址:https://github.com/ultraji/linux-0.12参考《Linux内核完全剖析 --基于0.12内核》linux-0.12目录为修改过的源代码,其中加入了中文注释,修改部分代码使其能在现在的环境下编译,并且支持GDB调试。oslab为实验目录,切到oslab目录下,运行该目录下的run.sh脚本即可运行linux0.12操作系统。一、实验篇...

2019-08-27 18:48:30 1056 6

原创 errno.h 详解

errno.h简介该头文件定义了通过错误码来回报错误资讯的宏。errno 宏定义为一个 int 型态的左值, 包含任何函式使用errno功能所产生的上一个错误码。宏简介EDOM说明:参数超出范围。例:sqrt(-1);ERANGE说明:结果超出范围。例:strtol("0xfffffffff",NULL,0);EILSEQ说明:...

2018-03-30 10:17:11 11733

原创 assert.h 详解

assert.h简介assert.h 常用于防御式编程。防御式编程是提高软件质量技术的有益辅助手段。防御式编程的主要思想是:子程序应该不因传入错误数据而被破坏,哪怕是由其他子程序产生的错误数据。这种思想是将可能出现的错误造成的影响控制在有限的范围内。断言 assert 就是声明某种东西为真,该函数多用于调试。宏函数assert原型:void assert (i...

2018-03-29 22:29:29 5118 1

原创 string.h 详解

string.h简介C语言标准库中一个常用的头文件,在使用到字符数组时需要使用。函数简介 函数 功能简介 memchr 在内存块中定位字符的位置 memcmp 把两个内存块的内容进行比较。 memcpy 复制内存块的内容 memmove 移动内存块中的内容 memset 以字节方式填充内存块 ...

2018-03-27 14:06:43 44723 8

原创 ctype.h 详解

ctype.h简介 定义了一批 C 语言字符分类函数,用于测试字符是否属于特定的字符类别,如字母字符、控制字符等等。和大小写转换函数。既支持单字节(Byte)字符,也支持宽字符。函数简介 函数 功能 isalnum 检查 ch 是否为字母或数字 isalpha 检查 ch 是否为字母 isblank (C++11 only...

2018-03-26 22:32:55 15105 4

原创 stdarg.h 详解

stdarg.h简介 stdarg 由 standard argument 简化而来,该头文件的主要目的为让函数能够接受可变参数。该头文件中声明了一个类型 va_list 和三个宏函数 va_start,va_arg 和 va_end。数据类型(Types): 数据类型 va_list 用来保存宏 va_arg 与宏 va_end 所需...

2018-03-25 17:11:54 1435

原创 1005.还原二叉树(ANOJ)

还原二叉树Problem Description 给一棵二叉树的层序遍历序列和中序遍历序列,求这棵二叉树的先序遍历序列和后序遍历序列。Input 每个输入文件中一组数据。 第一行一个正整数N(1<=N<=30),代表二叉树的结点个数(结点编号为1~N)。接下来两行,每行N个正整数,分别代表二叉树的层序遍历序列和中序遍历序列。数据保证序列中1~N的每个数出...

2018-03-13 10:30:40 278

原创 1011.万妖穴(ANOJ)

1011.万妖穴Problem Description “万妖穴中有若干小穴,每处小穴中皆有一只恶妖。小穴外设有封印,汝需消灭指定几处小穴中的恶妖方能解除该小穴封印,进而消灭穴中恶妖。” “此处石壁所刻便是万妖穴中各穴的封印解除关系。” “万妖穴中或有部分小穴未设封印,汝可以此作为突破口。” “吾将根据石壁所示,将各穴消灭顺序给予汝,汝自珍重。”Input 每个输入文件中一组数据...

2018-03-13 10:16:06 8946

原创 最短路径

https://github.com/ultraji/*问题 最短路径题目描述N个城市,标号从0到N-1,M条道路,第K条道路(K从0开始)的长度为2^K,求编号为0的城市到其他城市的最短距离。输入第一行两个正整数N(2<=N<=100)M(M<=500),表示有N个城市,M条道路,接下来M行两个整数,表示相连的两个城市的编号。输出N-1行,表示0...

2018-02-06 13:09:24 307

原创 递归实现全排列(按字典序)

codeup.cn 算法笔记习题 https://github.com/ultraji/codeup/*问题 A: 全排列题目描述排列与组合是常用的数学方法。 先给一个正整数 ( 1 < = n < = 10 ) 例如n=3,所有组合,并且按字典序输出: 1 2 3 1 3 2 2 1 3 2 3 1 3 1 2 3 2 1 输入输入一个整数n( 1<=n

2018-01-29 17:49:44 2705

原创 求第k大数

/*问题 A: 求第k大数给定一个长度为n(1≤n≤1,000,000)的无序正整数序列,以及另一个数k(1≤k≤1,000,000)(关于第k大的数:例如序列{1,2,3,4,5,6}中第3大的数是4。)输入第一行两个正整数m,n。第二行为n个正整数。输出第k大的数。样例输入6 31 2 3 4 5 6样例输出4*//*利用快排的特点(假设默认升序排序)

2018-01-19 15:11:39 4056

原创 进制转换

进制转换–codeup.cn 算法笔记习题 https://github.com/ultraji/codeup题目描述将一个长度最多为30位数字的十进制非负整数转换为二进制数输出。输入多组数据,每行为一个长度不超过30位的十进制非负整数。(注意是10进制数字的个数可能有30个,而非30bits的整数)输出每行输出对应的二进制数。样例输入985211

2018-01-11 18:50:30 894

原创 安装完固态硬盘后 出现 PCIIDE BAD 的解决方法

一种操作比较简单的方法:1.选择高级重启,重启电脑;2.重启过程中 进入BIOS设置界面选择硬盘选项改为AHCI,保存并退出;3.在登陆选项界面选择安全模式启动,成功进入安全模式的话,就关机重启,就能正常进入windows了。如果不成功,将硬盘选项改为IDE重启。...

2017-04-08 21:25:25 18733

原创 Ubuntu 安装后定制化过程

注:频繁重装系统,记录一些必做的操作,个性化自己的操作系统。首先设置ROOTsudo passwd root更新一下系统命令如下:sudo apt-get updatesudo apt-get upgrade卸载一些不必要的软件卸载 LibreOffice​ LibreOffice运行比较慢,体验并不是很好,我们可以安装WPS替代,卸载命令如下:sudo apt-get remove --pu

2017-02-12 17:47:45 1163

原创 Linux如何管理本地多个公/私钥对

​ 当有多对公/私钥对时,管理和操作会变复杂。使用 ssh 时需要通过 -i 指定私钥文件,比较麻烦。可以通过在 .ssh 目录下新建一个 config 文件来进行管理。1.新增ssh的配置文件,并修改权限(如果有报错就修改权限)。touch ~/.ssh/configchmod 600 ~/.ssh/config2.配置内容如下(还有别名,端口等参数,不多做介绍):Ho...

2017-02-11 21:11:33 4194

原创 SSH 免密码登录(Linux 环境下操作)

​ A机:自己的电脑 B机:需要远程登录的客户端或服务器​ 这里即A机想通过ssh免密码登录到B机。​ ssh 无密码登录需要使用到公钥和私钥。一般是在A机上生成公钥/私钥对,然后将公钥添加到B机中。1.首先需要在A机下生成公钥/私钥对ssh-keygen -t rsa -f id_rsa -P ''参数:-f 生成的文件名 -P 表示密码,-P ” 表示空密码,会在 .s

2017-02-11 21:03:22 6297

原创 Ubuntu 16.04 LTS (64位)中 安装多版本GCC(GCC3.4.6)

前言:在学习操作系统时,应该会碰到编译 linux0.11 内核的情况。但是它要求的是 gcc 3.4.x。版本太高的 gcc 不支持,那么,我们需要在 linux 发行版自带的 gcc 的基础上再装一个版本的 gcc。准备:首先,我们需要去官网下载 。在右侧的 Download 栏里可见。 我下载的是 gcc-3.4.6.tar.gz。 (Mirrors 中选择合适的镜像站点...

2017-01-24 22:14:16 3500

原创 bootsect.S 中文注释 ( linux-0.12 )

取自 https://github.com/ultraji/linux-0.12!! SYS_SIZE is the number of clicks (16 bytes) to be loaded.! SYS_SIZE 是要加载的系统模块长度(单位是节,每节有16字节)。! 0x3000 is 0x30000 bytes = 196kB, more than enough for c...

2017-01-18 15:30:35 1149

原创 Win10下,笔记本通过网线分享无线网络

有网络的笔记本操作如下:首选右键通知栏的网络图标,打开“网络和共享中心”。选择“更改适配器设置”。选中”WLAN”,右键属性。点击TAP栏的“共享”,勾选“允许其他网络用户通过…”。在“家庭网络链接(H):”下选中“以太网”(或其他分享途径),应用。然后查看“以太网”的属性,点开“Internet协议4(TCP/IPv4)”,记下IP地址(例如192.167.137.1),然后关掉。等待分享的电脑操

2017-01-14 18:09:13 27748 3

原创 Sublime Text 3 编译运行 OpenCV2.4.13

前提MinGWCMake3.7.1OpenCV2.4.13Sublime Text 3碰到一些问题 我用 MinGW 和 CMake 没有成功编译OpenCV源码,但用 mingw-w64 和 CMake 成功编译了 OpenCV 源码。能力有限,并不清楚具体怎么解决。安装mingw-w64首先安装mingw-w64(我下载的是6.2.0,其他版本并未试过能否成功),下载 mingw

2016-12-14 18:44:51 1659 6

原创 OpenCV 人脸识别使用 cvLoad()加载分类器报错的解决方法

报错情况:OpenCV Error: Unspecified error (The node does not represent a user object (unknown type?)) in cvRead。我发现 “\opencv\sources\data”有两个文件夹 “haarcascades_GPU”和 “haarcascades”,我们都默认用“haarcascades”下...

2016-12-12 11:17:31 5253 10

原创 动手写自己的第一个"操作系统"

参考资料:《Linux内核完全剖析–基于0.12内核》1.首先编写代码boot.s代码如下:!! boot.s -- bootsect.c的框架程序。用代码0x07替代串msgl中1字符,然后在屏幕第一行显示。BOOTSEG = 0x07c0entry startstart: jmpi go,BOOTSEGgo: mov ax,cs mov ds,ax

2016-06-25 12:58:43 504

原创 将Sublime Text 3 打造成 C/C++编译器

本文介绍Sublime Text 3的C/C++开发环境搭建,包括MinGW的安装,gcc运行c语言,g++运行c++语言,在sublime中运行以及在cmd中运行的方法。安装MinGW MinGW是Minimalist GNU on Windows的首字母缩写,安装后就可以使用很多的GNU工具。GNU(GNU’s Not Unix)是linux中的一个著名的项目,包含了gcc\g++\gdb

2016-05-23 22:41:13 37212 13

原创 Ubuntu 14.04LTS 安装和配置Bochs

系统是:Ubuntu 14.04LTS 64位安装的是:bochs-2.6.8Bochs 需要在 X11 环境下运行,因此你的 Linux 系统必须已经安装了X Window 系统才能使用Bochs。因为 Bochs 是用C++写的,所以这里要安装GNU gcc/g++编译器。 安装命令如下:sudo apt-get install build-essential sudo apt-get in

2016-05-11 18:41:48 1536

仿京东安卓源码

实现了京东的使用界面。

2016-05-12

仿安卓QQ源码

优质的仿安卓源码

2016-05-12

Linux内核完全剖析基于0.11内核

2016-05-12

空空如也

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

TA关注的人

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