自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(258)
  • 资源 (6)
  • 收藏
  • 关注

原创 leetcode 523. 连续的子数组和

1 题目描述给定一个包含非负数的数组和一个目标整数 k,编写一个函数来判断该数组是否含有连续的子数组,其大小至少为 2,总和为 k 的倍数,即总和为 n*k,其中 n 也是一个整数。示例 1:输入: [23,2,4,6,7], k = 6输出: True解释: [2,4] 是一个大小为 2 的子数组,并且和为 6。示例 2:输入: [23,2,6,4,7], k = 6输出:...

2018-10-22 15:45:01 1411

原创 leetcode 560. 和为K的子数组

1 题目描述给定一个整数数组和一个整数 k,你需要找到该数组中和为 k 的连续的子数组的个数。示例 1 :输入:nums = [1,1,1], k = 2输出: 2 , [1,1] 与 [1,1] 为两种不同的情况。说明 :数组的长度为 [1, 20,000]。数组中元素的范围是 [-1000, 1000] ,且整数 k 的范围是 [-1e7, 1e7]。2 解法我本来想...

2018-10-22 15:28:18 503

原创 leetcode 209.长度最小的子数组

1 题目描述给定一个含有 n 个正整数的数组和一个正整数 s ,找出该数组中满足其和 ≥ s 的长度最小的连续子数组。如果不存在符合条件的连续子数组,返回 0。示例:输入: s = 7, nums = [2,3,1,2,4,3]输出: 2解释: 子数组 [4,3] 是该条件下的长度最小的连续子数组。进阶:如果你已经完成了O(n) 时间复杂度的解法, 请尝试 O(n log n) ...

2018-10-22 14:47:04 1072

原创 leetcode 862. 和至少为K的最短子数组

参考:https://www.jianshu.com/p/f80e7bc7af7b1 题目描述返回 A 的最短的非空连续子数组的长度,该子数组的和至少为 K 。如果没有和至少为 K 的非空子数组,返回 -1 。示例 1:输入:A = [1], K = 1输出:1示例 2:输入:A = [1,2], K = 4输出:-1示例 3:输入:A = [2,-1,2], K ...

2018-10-22 14:21:25 1191

原创 leetcode 4. 两个排序数组的中位数 Median of two sorted arrays

https://leetcode-cn.com/problems/median-of-two-sorted-arrays/description/题目描述给定两个大小为 m 和 n 的有序数组 nums1 和 nums2 。请找出这两个有序数组的中位数。要求算法的时间复杂度为 O(log (m+n)) 。你可以假设 nums1 和 nums2 不同时为空。示例 1:nums1 = [...

2018-10-17 20:52:54 295

原创 leetcode 10. 正则表达式匹配 Regular Expression Matching

https://leetcode-cn.com/problems/regular-expression-matching/题目描述给定一个字符串 (s) 和一个字符模式 §。实现支持 ‘.’ 和 ‘*’ 的正则表达式匹配。‘.’ 匹配任意单个字符。‘*’ 匹配零个或多个前面的元素。匹配应该覆盖整个字符串 (s) ,而不是部分字符串。说明:s 可能为空,且只包含从 a-z 的小写字母。...

2018-10-17 18:12:49 288

原创 计算机网络

放到

2018-10-12 11:21:44 358

原创 凸优化算法

1、无约束优化unconstraint minimization 2、等式约束 3、不等式约束凸函数的几个性质:

2018-09-17 11:18:42 6881

原创 线性代数

奇异值分解 矩阵分解 标准正交基 feature reduction的PCA 抽取重要特征 特征向量 特征值 正交向量 特征值分解一切从向量开始,向量的线性组合cv⃗+dw⃗cv→+dw→c\vec{v}+d\vec{w}. 如果是两个不平行(不相关)的二维向量,它们所有的线性组合就可以铺满整个二维平面(空间)。...

2018-09-17 11:15:20 250

原创 凸优化 Convex Optimization 概念

概念基本概念基本印象:两个点x1,x2x1,x2x_1,x_2,它们之间的直线θ1x1+θ2x2θ1x1+θ2x2\theta_1 x_1+\theta_2 x_2 affine setconvex setcone set

2018-09-10 11:11:58 652

原创 volatile

缓存一致性在多处理器系统中,每个cpu都有自己的缓存,它们都有一个共享的内存。内存和缓存中的数据要保持一致,通过一个协议MESI,是由硬件来完成缓存一致性的。一个cpu总能读到最新的数据,不管它是在自己的cache中,还是在其他cpu的cache中,还是在内存中,这就是缓存一致性。我看很多资料上都写volatile可以保证缓存一致性,写时写到缓存,同时写到内存,读时直接读内存。我觉得它这么...

2018-08-17 16:47:59 3194

转载 c语言中的volatile static inline

全局寄存器变量会在程序的整个运行过程中保留寄存器专门用于几个全局变量。然而,局部寄存器变量不会保留指定的寄存器,而仅在内嵌asm汇编语句中作为输入或输出操作数时使用专门的寄存器。gcc编译器的数据流分析功能本身有能力确定指定的寄存器何时含有正在使用的值,何时可派其他用途。当gcc数据流分析功能任务存储在某个局部寄存器变量值无用时就可能将其删除,并且对局部寄存器变量的引用可可能被删除、移动或简化。因...

2018-07-27 17:01:12 356

原创 函数调用

大多数CPU上的程序实现使用栈来支持函数调用操作。栈被用来传递函数参数、存储返回信息(返回地址,调用者的ebp),临时保存寄存器原有值以备恢复以及用来存储局部数据。一个栈桢由两个寄存器指定,栈底ebp,栈顶esp。Intel CPU,所有函数必须遵守的寄存器用法统一惯例: eax, edx, ecx由调用者自己负责保存,ebx, esi, edi由被调用者来保护。相关汇编指令:p...

2018-07-25 19:58:50 443

原创 嵌入式汇编(内联汇编)

嵌入式汇编基本格式:asm("汇编语句" : 输出寄存器 : 输入寄存器 : 会被修改的寄存器);输出寄存器:表示这段汇编执行完之后,哪些寄存器用于存放输出数据。 这些寄存器会分别对应一C语言表达式值或一个内存地址;输入寄存器:表示在开始执行汇编代码时,这里指定的一些寄存器中应存放的输入值,它们也分别对应着一C变量或常数值。会被修改的寄存器:表示你已经对其中列出的寄存器中的...

2018-07-25 17:41:22 4592

原创 C语言 宏 返回值

操作系统:centos 编译器:gcc宏函数(块结构表达式)可以代替一段函数,而且有返回值。#include <stdio.h>#define kaddr(addr)\({\int tmp = addr;\if (addr > 5) \ tmp = 2;\else\ tmp = 3;\(addr+tmp);\})\int main...

2018-07-25 16:48:24 9511

原创 分析一个ELF文件

在计算机科学中,是一种用于二进制文件、可执行文件、目标代码、共享库和核心转储格式文件。 是UNIX系统实验室(USL)作为应用程序二进制接口(Application Binary Interface,ABI)而开发和发布的,也是Linux的主要可执行文件格式。 1999年,被86open项目选为x86架构上的类Unix操作系统的二进制文件标准格式,用来取代COFF。因其可扩展性与灵活性,也可应...

2018-07-25 16:22:17 479

原创 头文件和源文件的区别

转自:https://blog.csdn.net/solo_ws/article/details/50043189一、源文件如何根据#include来关联头文件 1,系统自带的头文件用尖括号括起来,这样编译器会在系统文件目录下查找。#include <xxx.h>2,用户自定义的文件用双引号括起来,编译器首先会在用户目录下查找,然后在到C++安装目录(比如VC中可以指...

2018-07-25 15:42:26 21652 3

转载 寄存器变量

转自:https://blog.csdn.net/hyqsong/article/details/46766565之前竟然没听过c语言还有寄存器,好可怜,我是小白请见谅,哈哈简单总结了几条关于register变量应该知道的东西,如下:1.寄存器变量可以用来优化加速c语言程序2.声名只需在类型前多加register 即可,eg register int quick; (quick...

2018-07-25 15:10:18 2557

原创 在64位Linux系统上使用汇编和C语言混合编程

nasm -f elf -o foo.o foo.asm gcc -c -o bar.o bar.c ld -s -o foobar foo.o bar.o汇编用nasm编译器,C语言用gcc编译,但链接的时候出错了:ld: i386 architecture of input file `foo.o' is incompatible with i386:x86-64 output...

2018-07-23 16:16:28 627

原创 虚拟机通过桥接模式上网

https://blog.csdn.net/u013252047/article/details/77947594?locationNum=3&fps=1

2018-07-23 11:38:20 183

原创 mac root operation not permitted

sudo下也没有权限重启系统 按住Command+R,进入恢复模式,打开Terminal 输入:csrutil disable 重启设备。如果要打开,输入:csrutil enable

2018-07-20 18:39:12 639

原创 一个简单的多任务内核实例

这是在上篇博文的基础上又新增了一个任务,两个任务通过时钟中断交替运行。编译器:nasm 虚拟机:bochs 操作系统:macosxgithub interrupt源码参考:赵炯《Linux内核完全剖析》init.s[BITS 32]LATCH equ 1193180SCRN_SEL equ 0x18LDT0_SEL equ 0x28TSS0_SEL equ 0x...

2018-07-19 18:24:33 770

原创 实模式到保护模式 用户态

boot.s是引导程序,负责加载init.s。 开机启动后bios把boot.s加载在0x7c00处,并从这开始运行,boot.s负责用bios中断把init.s加载到0x10000处,然后将init.s移动到0x0处(方便设置gdt,不直接从磁盘加载到这是因为加载用的是bios的中断,bios的中断在0x0开始的地方),然后调入保护模式,从0x0开始运行。init.s中重新设置了gdt,多...

2018-07-19 18:16:20 351

原创 从实模式跳入保护模式0

编译器:nasm 虚拟机:bochs 操作系统:macosx两个汇编程序boot.s和init.sboot.s模拟引导程序,写入启动盘的0磁道,1扇区(512字节)中,在操作系统启动时,被bios加载进0x7c00处,并从这开始执行,它负责把init.s读入内存0x10000处,然后拷贝到0x0处,到这为止操作系统都运行在实模式下 (实模式的寻址方式是段地址<<4 +...

2018-07-19 17:57:06 430

原创 nasm汇编

参考:https://blog.csdn.net/Lirx_Tech/article/details/42340619

2018-07-19 17:29:53 776

原创 汇编直接在显存地址写字符显示

汇编器:nasm 虚拟机:bochs 操作系统:mac osx将汇编代码写入磁盘的0柱面,0磁道,1扇区,开机启动后bios会自动加载这512字节到内存0x7c00处,然后跳到这开始执行。在屏幕上显示字符,可以直接写到显存里,就直接在屏幕上显示出来了,显存地址从0x8000开始,每个字符占两个字节,一个字节存放字符,一个字节存放这个字节的显示属性。 具体可参考王爽汇编语言实验9。...

2018-07-19 17:19:03 4616

原创 利用bios中断在屏幕上显示字符和读磁盘

写两个汇编文件,来模拟引导程序和内核程序。引导扇区负责把内核程序读到内存中(通过bios 0x13中断),读入内存后,通过判断是否读成功,在屏幕上显示不同的提示字符(通过bios 0x10中断)。bootsect.sBOOTSEG equ 0x7c0section .text vstart=0jmp BOOTSEG:startstart: mov ax, cs ...

2018-07-19 16:29:01 1023

原创 用bios中断在屏幕上显示字符串

bximage //bochs的工具,用于生成软盘影像

2018-07-12 16:27:12 3217

原创 github ssh 免密登陆

git config --global user.name ngit config --global user.email essh-keygen // 请输入密码/User/nazhou/.ssh下的id_rsa.pub中的内容拷贝到github中即可。localhost:.ssh nazhou$ ssh -T git@github.comEnter passphrase for ...

2018-07-11 23:48:58 1199

原创 进程与线程

从内核角度看进程 PCB:进程控制块 pcb.tss线程 TCB:线程控制块进程是由内核实现和控制的,线程可以完全由用户级程序实现。 线程也可以由操作系统实现。系统调用 int ...

2018-07-09 20:04:02 185

原创 8253定时芯片

控制字: PC默认分配给8253的端口地址为40H~ 43H。三个计数器的端口地址分别为40H~42H,控制字寄存器的端口址为43H。 参考:https://my.oschina.net/u/2374598/blog/548760...

2018-07-05 18:26:46 2632

原创 赵炯 第4章 一个简单的多任务内核实例 设置idt setup_idt

4.9.3 多任务内核程序 head.s中设置idt中断向量表相关的代码如下: 中断门、陷阱门、和任务门的描述符格式如下图: 下面对上面的代码简单解释。第33-40行是设置定时中断门描述符。 定时处理程序是timer_interrupt,属于内核,中断向量是0x08,段选择符就是内核代码段0x08。 根据上图中断们描述符可以得出这个描述符的内容如下: |00|00...

2018-07-05 16:26:42 349

原创 赵炯 第4章 一个简单的多任务内核实例 gdt详解

head.s程序的170行开始是gdt表:gdt: .quad 0x0000000000000000 # GDT表。第1个描述符不用。 .quad 0x00c09a00000007ff # 第2个是内核代码段描述符。其选择符是0x08。 .quad 0x00c09200000007ff # 第3个是内核数据段描...

2018-07-05 13:05:56 625

原创 linux内核

http://down.51cto.com/zt/6417/1

2018-07-04 18:14:09 230

原创 gcc makefile

gcc hello.cgcc hello.c -o hello-world./a.out./hello-worldgcc -S hello.c // 会得到汇编代码as ldgcc -O2 hello.c -o hello-worldgcc -O0gcc -O3objdump -S hello-world

2018-07-04 16:28:31 174

原创 操作系统启动

启动 取值执行 bootsect.s setup.s

2018-07-04 16:27:59 200

原创 macbook使用中遇到的问题

tab自动补全

2018-07-04 16:27:18 234

原创 qemu bochs

qemu-system-i386 -boot a -fda booting -serial stdioqemu-system-i386 linux.img安装:brew install qemuQEMU DOWNLOADQEMU USER DOCUMENTATION

2018-07-04 16:25:51 566

原创 MacOS X上安装bochs

在MacOS X上安装bochs,并且要用X windows的GUI,而且要用调试功能。首先安装X windows GUI下载XQuartz-2.7.11.dmg;安装;brew install gtk+brew install pkg-configexport PKG_CONFIG_PATH=/opt/X11/lib/pkgconfigpkg-config --libs --c...

2018-07-04 16:24:57 2629

原创 bootsect.S Makefile

bootsect.S.code16.global _bootstart.equ BOOTSEG, 0X07C0ljmp $BOOTSEG, $_bootstart_bootstart: jmp _bootstart.=510signature: .word 0xaa55Makefileall: Image.PHONY=cleanb...

2018-07-04 16:23:09 223

王爽 debug link masm

里面有汇编用到的工具:edit.exe、masm.exe、link.exe、debug.exe。还有DOS的模拟程序DOSBox0.74-win32-installer.exe。还有王爽老师的《汇编语言》

2018-06-03

complete_nginx_cookbook.pdf

How to configure content caching, load balancing, monitoring, high availability (HA), and other critical NGINX features. How to protect your applications: mitigate DDoS attacks, stop Layer 7 attacks, and configure Single Sign-On with OpenID. How to deploy NGINX and NGINX Plus in AWS, Azure, and GCP; as well as in Docker containers. About monitoring and troubleshooting application performance with NGINX.

2018-01-19

hadoop 2.8.3 eclipse oxygen plugin hadoop-eclipse-plugin-2.8.3.jar

hadoop-eclipse-plugin-2.8.3.jar hadoop eclipse插件,hadoop版本2.8.3,eclipse版本oxygen,亲测可以,用问题请留言:http://blog.csdn.net/familyshizhouna/article/details/78892500

2017-12-25

hadoop-eclipse-plugin-2.8.3.jar

hadoop2.8.3的eclipse插件,eclipse版本是mars,亲测可用。如果遇到这个错误:An internal error occurred during: "Map/Reduce location status updater"不是插件问题,请执行命令:hadoop dfs -mkdir /用户名。

2017-12-25

测量文件夹大小工具

能显示文件夹大小。挺方便的小工具,想删除没用文件,而且文件特别多时,可快速定位占硬盘的文件夹。

2015-01-14

[Visual.C.与Windows编程学习参考].汪小龙.扫描版.pdf

[Visual.C.与Windows编程学习参考].汪小龙.扫描版.pdf

2010-09-29

空空如也

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

TA关注的人

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