5 Wo_der

尚未进行身份认证

我要认证

暂无相关简介

等级
TA的排名 3w+

什么是maven

maven是一种项目管理工具,maven项目与普通项目的不同是,项目中多了一个pom.xml的文件,用于告诉当前项目所需要的jar的位置,从而无须手动将需要用到的jar包引入...

2018-06-16 23:25:49

今天安装spring的时候遇到一些缺少repository的问题

在安装spring的时候会对其依赖的一些库的进行一些链接检查,导致会报一些缺少repository的问题No repository found containing: osgi.bundle,oracle.eclipse.tools.rest.lib,16.4.0.201705251324No repository found containing: osgi.bundle,org.eclips...

2018-06-02 18:40:51

进程是如何结束与回收的

大致描述进程创建的过程,系统中有一个叫做init的初始进程,由它调用fork产生子进程(完全拷贝父进程的一切堆栈,代码,数据,文件资源等),子进程使用exec装载磁盘中的elf文件,更换自己的程序(包括代码段和数据段)。进程的退出必须要使用exit(),exit()不是一个语言上的返回,它是一个系统调用,会释放当前的内存,文件资源等,但是此时pcb还未回收,只是一个僵尸进程,父进程使用wait()得

2018-04-02 20:14:27

于渊<orange's 一个操作系统的实现>中文件系统的bug

其实这不属于文件系统的bug,这应该属于进程的bu,不知道有没有跑过第九章文件系统的最后代码的,是一个和linux下文件系统调用一样的范例。一开始感觉TestB()和TestC()这两个进程没用,这两个实际进程没做什么,就是Print一下,然后就死循环了,然后就删掉了,只留下了个进程TestA(),然后问题就出现了总是报异常,但是另外两个进程加上去之后就没事了,很不解。后来发现,文件系统也是由一个系

2018-04-01 21:38:51

于渊《orange's 一个操作系统实现》的字符串输出函数disp_str有bug会导致异常

于渊先生的《orange’s 一个操作系统实现》的字符串输出函数disp_str有bug会导致异常发现在同一个函数中两次使用disp_str就会导致异常,这个问题困扰了我很久,一般来说都是堆栈的没有恢复好的问题,在反复的检查后发现堆栈并没有什么问题,disp_str是一个汇编程序,莫名觉得是符号问题,鬼使神差的使用c程序对其包装发现没有这样的问题,一直往堆栈方向想,但后来想到自己大一写汇编函数...

2018-03-26 17:12:51

马斯克的第一性原理是什么?

spacex跨时代的此次发射回收推进节成功之后,mask又火了一把,铺天盖地的关于mask的报道,其中犹甚提到了mask非常尊崇的“第一性原理”,从知乎了解之后大概如下:比如预测某种大自然的力学活动时,需要通过建立理论模型去求解问题,但很多时候模型的细节太多太过于复杂没有办法完全表示的时候可以使用一些先验的假设去完善这种模型,然后在这种假设下计算的得出结论,也被称之为预测而相对于另一种,不

2018-02-11 12:44:07

汇编中标量和变量的区别

今天看汇编的时候遇到的一个说法 对于一个变量来说num dw 2mov bx num ;mov cx [num]; bx == cx ==2上面两种写法居然是一样的,这有点让我讶异,我一直以为汇编中无论是变量还是标号,应该是一个地址才对,不加中括号的时候是地址,加了中括号之后就是地址对应的值,但是实际上这个想法居然是错的?! 就看过网上的一个版本是这么陈述的:1,对于mov指令来说:有没

2018-02-08 16:51:48

intel汇编学习笔记 loop和test

loopxor eax, eaxmov ecx, 1024 .begin:add eax, 1loop .begin ; if( --ecx > 0 ) goto .begin:如c版本注释所示,当–ecx > 0时会跳转到.begintesttest eax,eax ;if(( eax & eax ) == 0 )jz label

2018-01-29 22:54:40

一致代码段和非一致代码段和CPL,RPL,DPL

之所以出现这个定义是因为系统要安全:内核要和用户程序分开..内核一定要安全.不能被用户程序干涉.但是有时候用户程序也需要读取内核的某些数据,怎么办呢?操作系统就引入了访问特权等级(0-3)的机制.这些特权等级,通过三个符号来体现CPL/DPL/RPL.其中CPL是存寄存器如CS中,RPL是代码中根据不同段跳转而确定,以动态刷新CS里的CPL.DPL是

2018-01-29 16:37:18

于渊<orange's一个操作系统的实现>保护模式部分详解

进入保护模式内容详解实模式和保护模式的区别实模式和保护模式是cpu的两种不同的工作模式,这两种工作模式主要的区别在于寻址方式的不同,寻址方式的意思是寻找地址的方式,这里稍微啰嗦一下,其实对于寻址更方便的理解方式应该是“寻值”,其实在汇编中无论是值还是地址或者变量本质上都是一个数值而已,所谓的“寻值”就是要确定这个东西在指令中究竟对应的数值是什么。 在介绍阆中不同工作模式下的不同寻址方

2018-01-28 22:15:38

ubuntu下包装drcom拨号

学校使用drcom拨号上网的,但有时候下载的版本很奇怪会占用终端,于是写个程序重新包装一下#include#include#includeconst char app[]="/home/woder/download/DrClient/DrClientLinux";//应用名const char dir[]="/home/woder/download/DrClient";//应用目录

2018-01-24 18:24:32

c语言源文件为什么要引入同名头文件

在编译器眼中其实.c文件和.h文件并没有什么本事的区别,都是同样的文件,并不是说编译头文件的时候就会去找同名头文件,.h文件的内容会被完全替换源文件中的include "xxx.h",然后编译成.s 汇编文件,最后在链接的时候才和外部的符号进行链接。为什么多了一个.h的文件大概是为了方便区分。那为什么常见自己写的源文件中会看到所写的include "xx.h",引入同名头文件呢,这句话并不

2018-01-22 18:12:39

模拟信号和数字信号的区别

作者:杨眀链接:https://www.zhihu.com/question/38377832/answer/118464689来源:知乎著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。题主说的模拟信号是相对数字信号而言的吧?  如果是的话,那它就是指连续的意思。举个例子帮助你理解模拟和数字的区别:常见的仪表显示有指针式和数字式,指针式仪表,可以

2018-01-22 17:30:48

头文件只能放变量的声明但是不能放定义

一般的做法都是在头文件(.h)中声明变量,然后在源文件(.c)中定义变量如果在头文件中定义变量,这个变量就有了实体,如果a.c和b.c一起引用了头文件head.h,就等于同时创建了两个同样名字的变量实体,在一个工程下,链接的时候就会导致重定义的问题如何在头文件中声明变量而不是定义呢 ?使用extern关键字,extern关键字表示当前变量在别处定义,需要链接到外面的文件才能找到具体的变量,

2018-01-22 17:24:14

gcc中的内联asm笔记(1)

uint16_t port;uint8_t value;...asm volatile ("outb %1, %0" : : "dN" (port), "a" (value) );写玩具内核的时候看到要读写端口,接触到了gcc的内联汇编,如上,解释一下outb %1, %0 表示把%1的内

2018-01-22 16:28:45

sed -i命令详解

sed -i命令详解[root@www ~]# sed [-nefr] [动作]选项与参数:-n :使用安静(silent)模式。在一般 sed 的用法中,所有来自 STDIN 的数据一般都会被列出到终端上。但如果加上 -n 参数后,则只有经过sed 特殊处理的那一行(或者动作)才会被列出来。-e :直接在命令列模式上进行 sed 的动作编辑;-f :直接将

2018-01-19 21:18:37

如何安装windows和linux双系统

最近装了两天系统积攒了一下经验。原本一直使用win7,现需要使用linux操作系统作为开发环境,虚拟机的能力总是有限,所以打算装双系统,装系统以前一直对我来说一直很神秘,为什么系统需要各种启动引导什么的,装双系统和单系统的区别又是什么,按照网上教程走的时候有时后会经常遇到一些问题导致失败又不知道该如何解决,归根到底是不知道计算机如何启动的,看完下面的博客就不会不知道自己机械的装系统的时候到底在

2018-01-19 21:11:48

管道的创建与读写

//创建自己的管道 int pid = getpid(); char pipe_name[20]="/tmp/mypipe"; int client_pipe = mkfifo(pipe_name, 0777); //创建管道文件 if( client_pipe < 0 ){ //也可使用access(pipename,F_OK)测试文件是否存在,ret 0

2018-01-05 11:31:35

线程的创建,取消,同步与回收

#include <pthread.h>pthread_mutex_t codvoid* fn(void *arg){ pthread_mutex_lock(&cond);//上锁 ... pthread_mutex_unlock(&cond);//解锁}void main(){ pthread_t pid; pthread_create(&pid, NULL,f

2018-01-05 11:26:11

c++ 使用boost去读写json

这两天刚好写一个小玩具需要用到读写配置文件,趁机学习了c++的boost 读写库{"SERVER_REG":"/tmp/wangyishen_register","SERVER_LOG":"/tmp/wangyishen_login","SERVER_CHAT":"/tmp/wangyishen_sendmsg","MAX_CONNECT_NUM":"2"}对于上面一个位于/etc/erv

2018-01-05 11:20:06

查看更多

勋章 我的勋章
  • 持之以恒
    持之以恒
    授予每个自然月内发布4篇或4篇以上原创或翻译IT博文的用户。不积跬步无以至千里,不积小流无以成江海,程序人生的精彩需要坚持不懈地积累!