- 博客(82)
- 资源 (21)
- 收藏
- 关注
原创 Graph RAG
问题 2:ValueError: Could not use APOC procedures. Please ensure the APOC plugin is installed in Neo4j and that ‘apoc.meta.data()’ is allowed in Neo4j configuration。查看log:报错是密码太简单,可以增加密码的复杂度,修改为。问题 1:使用这个命令安装,容器无法启动,做如下修改。少安装插件,做如下修改,打开插件。
2025-03-25 00:32:17
258
转载 关于A20 Gate
本来想直接写一篇关于保护模式的文章,因为有一位读者不断地问我这个问题,随着问题的深入,在评论上回答这个问题实在是太困难了,动起笔来,发现涉及的事情太多,免不了又是长篇大论惹人烦,而且要写很长时间,不知道我能不能把它写完,所以干脆把一些问题分离出来写,或许还可以坚持写出来。 在许多PC的CMOS设置里,都有一项叫做“A20 Enable“的设置,不知道大家是否就此设置困惑过,这个A20
2016-09-12 13:26:18
1346
原创 Linux内核课程学习总结
Linux内核课程学习总结学习期间发布博客文章的总结: *函数栈的调用 *学习Linux内核启动过程:从start_kernel到init *使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用 *system_call中断处理过程分析 *分析Linux内核创建一个新进程的过程 *Linux内核如何装载和启动一个可执行程序 *理解进程调度时机跟踪分析进程调度与进程切换的过
2016-05-01 10:59:55
727
原创 理解进程调度时机跟踪分析进程调度与进程切换的过程
一、基础知识Linux系统的一般执行过程最一般的情况:正在运行的用户态进程X切换到运行用户态进程Y的过程1. 正在运行的用户态进程X2. 发生中断——save cs:eip/esp/eflags(current) to kernel stack, then load cs:eip(entry of a specific ISR) and ss:esp(point t
2016-04-17 18:08:15
712
原创 Linux内核如何装载和启动一个可执行程序
一、理论知识Linux中,可以从c源代码生产一个可执行程序,这其中要经过预处理、编译和链接的过程。可以参考以下图来理解这个过程: 可执行文件的格式: 在 Linux 平台下主要有以下三种可执行文件格式: 1、a.out(assembler and link editor output 汇编器和链接编辑器的输出) 2、COFF(Common Object File Format 通
2016-04-10 21:00:05
566
原创 分析Linux内核创建一个新进程的过程
创建进程常常用到的函数:1:fork创建自集成;2:vofrk:创建子进程,与父进程共享地址空间;3:clone,创建线程;创建一个进程的过程中涉及用到的函数: sys_clone,do_fork,dup_task_struct,copy_process,copy_thread,et_from_fork 1.在创建进程的时候,传统的unix会全复制父进程给子进程。这种方式不好的是,创建慢、浪费
2016-04-03 09:38:33
610
原创 Try using /USELOCALTIME
在进行 WDK 开发的时候出现了如下的错误: Errors:22.9.7: DriverVer set to incorrect date (postdated DriverVer not allowed) in \kmdfdriver6.inf. The current date (UTC) is 10/1/2014.Try using /USELOCALTIME when DriverVer
2016-03-30 07:51:52
645
原创 DbgPrint/KdPrint输出格式控制
在驱动编程学习中,往往需要通过DbgPrint或者KdPrint来输出调试信息,对于Check版本,KdPrint只是DbgPrint的一个宏定义,而对于Free版本,KdPrint将被优化掉。这些输出信息可以通过DebugView对内核的监控来看到。KdPrint is identical to the DbgPrint routine in code that is compiled
2016-03-30 07:01:40
753
原创 使用库函数API和C代码中嵌入汇编代码两种方式使用同一个系统调用
作品转载请注明出处《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000 ”首先我们从http://codelab.shiyanlou.com/xref/linux-3.18.6/arch/x86/syscalls/syscall_32.tbl这个网站中找一个我们想用来做实验的一个系统调用,我们本次使用execve来当
2016-03-20 11:17:17
576
转载 离线版MSDN文档的安装和配置
离线msdn大致有两种方法,大同小异,效率问题而已。只不过第一种直接下载的方式的文档库是最新的,而第二种使用网上打包好的离线MSDN文档库一般都不是最新的,可以更新。第一种方式使用Microsoft Help Viewer v2.2从微软的源直接下载文档库。这种方式对网速的要求比较高,建议量力而行,不然可能卡死在下载过程中:下载安装Microsoft Help View
2016-03-19 11:52:52
9904
原创 学习Linux内核启动过程:从start_kernel到init
作品转载请注明出处《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000 ”一、实验步骤: 1:运行menuos: a)cd LinuxKernel/ b)qemu -kernel linux-3.18.6/arch/x86/boot/bzImage -initrd rootfs.img启动后启
2016-03-13 21:23:19
1203
原创 简单的时间片轮转多道程序内核代码
内核开始函数:void __init my_start_kernel(void){ int pid = 0; /* Initialize process 0*/ task[pid].pid = pid; task[pid].state = 0;/* -1 unrunnable, 0 runnable, >0 stopped */ // set task
2016-03-06 21:34:41
588
原创 函数栈的调用
分析如下的文件:(文件名是hi.c)int g(int x, int y){ return x + y + 3;}int f(int x, int y){ return g(x,y);}int main(void){ return f(3,4) + 1;}通过反汇编后得到如下的内容:使用反汇编的命令:gcc -S hi.c -m32生成如下代码: .
2016-02-22 22:02:42
602
原创 关于AT&T 汇编:64 位与32 位的区别
下面是一些主要的不同之处,如果不怕麻烦可以自己看看文档System V Application Binary Interface AMD64 Architecture Processor Supplement。“这也是汇编语言不可移植的明证。” ——御坂0x4e27 如此说道。
2014-08-19 16:56:34
2985
原创 一种bug的check方式
宏定义如下:#define BUILD_BUG_ON_ZERO(e) (sizeof(struct { int:-!!(e); }))这个函数也就是在check
2014-07-31 14:25:22
1492
转载 insight-6.8调试工具安装
错误信息:qiang@LinuxSir:~$ sudo arm-elf-insight Tk_Init failed: Can't find a usable tk.tcl in the following directories: /usr/local/share/tk8.4 /usr/local/lib/tk8.4 /usr/lib/tk8.4 /usr/l
2014-07-28 17:43:20
798
转载 linux内核态与用户态通信方式
下面对linux内核态与用户态通信方式中的procfs进行讲解。/proc主要存放内核的一些控制信息,所以这些信息大部分的逻辑位置位于内核控制的内存,在/proc下使用ls -l你会发现大部分的文件或者文件夹的大小都是0,不过使用cd命令进到文件夹下或者使用cat命令查看某些文件的内容确实能查看到一些信息。这是因为/proc文件系统和其他常规文件系统一下把自己注册到虚拟文件系统层(VFS)
2014-01-06 16:50:42
13236
转载 UNIX环境高级编程中的apue.h错误
最近在读 Richard Stevens 的大作《UNIX环境高级编程》,相信很多初读此书的人都会与我一样遇到这个问题,编译书中的程序实例时会出现问题,提示 “错误:apue.h:没有那个文件或目录”。apue.h 是作者自定义的一个头文件,并不是Unix/Linux系统自带的,此头文件包括了Unix程序所需的常用头文件及作者Richard自己写的出错处理函数。所以在默认情况下,gcc在编
2013-12-09 23:07:40
624
翻译 emacs tutorial一些快捷键速查
c-x c-c:end the Emacs sessionc-g:quit a commandc-v:move backward one screenful(Page Up)m-v:move backwards one screenful(Page Down)c-l:clear screen and redisplay all the tet, moving the text ar
2013-10-29 16:48:34
859
原创 linux 12.04 lts安装后的一些配置
英文版的ubuntu12.04 ltsstep1:install input method: ibus pinyin a)安装ibus框架:sudo apt-getinstall ibus ibus-clutter ibus-gtk ibus-gtk3 ibus-qt4 b)im-switch -s ibus启用ibus c)重启x d)安装拼音引擎 sudo ap
2013-10-28 21:28:31
582
翻译 Write paper:SDN the new norm for network翻译
Write paper:SDN the new norm for network内容的层次1. 摘要(ExecutiveSummary)2. 需要一个新的网络架构3. 当前网络技术的局限性4. 软件定义网络的介绍5. Openflow的本质6. 以openflow为基础的软件定义网络的好处7. 总结 1. 摘要传统的网络无法满足当前企业、
2013-10-12 17:54:15
1360
原创 RHEL5安装emacs
1、下载emacs包,从gun emacs下载即可;2、压缩emacs包,到你想要压缩的目录;3、进入压缩目录;./configure4、提示libgif/libungif找不到(这两个包装一个就行了);5、找到你的rhel5安装包,里面可以查找到libgif.rpm包6、rpm -ivh 安装即可;7、然后就make你的emacs吧,这就安装ok了;
2013-05-14 05:01:53
696
原创 算法导论第二章
书中第一个讲到的排序算法:插入排序:对输入序列A,进行从小到大排序A:表示输入的序列;len(A):表示输入序列的长度insert-sort(A){ for j ←2 to len[A] do key ←A[j] i ← j-1 while i >0 and A[i] > key A[i+1]
2013-03-20 00:05:04
614
原创 算法导论第一章
算法导论中,算法的定义:定义良好的计算过程,它取一个活一族值作为输入,并产生出一个活一族值作为输出。习题:1.1-1:给出一个真实世界的例子,其中包含着下列的某种计算问题:排序,确定多矩阵相乘的最佳顺序,或者找出凸壳排序:每年世界500强公司收入排序确定多矩阵相乘的最佳顺序:使用结合律 A*B*C=A*(B*C)找出凸壳:给定平面上n个点,希望找出这些点的凸壳,即包含这些点的最
2013-03-05 07:08:54
1334
翻译 microsoft c
1、假如使用了禁止while的条件部分进行赋值的变异程序选择项,为什么可以查出下面代码中的un算优先级错误?while(ch = getchar() != EOF)答:编译程序会查获优先顺序错。因为它把表达式解释为:while( ch = ( getchar() != EOF ) )换句话说,编译程序把它看作是将表达式的值赋给ch,因而认为你把“==”错误的键为“=”,并向你发
2011-12-11 14:08:03
663
翻译 Session1 数字调查证据
文件系统取证分析(File System Forensic Analysis) Part1 基础(Foundations)/*********************************************************************************************************************第一章 数字调查基础(Digi
2011-11-13 01:07:45
1423
转载 在Linux 2.6内核下编译可以加载的内核模块_转载
在Linux 2.6内核下编译可以加载的内核模块By:吴垠Date:2007-05-18Email:lazy_fox#msn.comHomepage:http://blog.youkuaiyun.com/wooinLink:http://blog.youkuaiyun.com/wooin/archive/2007/05/21/1619
2011-10-26 23:27:36
513
原创 AT&T汇编格式
AT&T的语法格式:1、寄存器的引用:引用寄存器要在寄存器前加%,如mov %eax,%ebx2、操作数的顺序:操作数排列时从源(左)到目的(右),如mov %eax(源),%ebx(目的)3、常数/立即数的格式a:使用立即数,要在数前面加$, mov $4, %ebx;把4赋值给ebxb:符号常量直接引用;入mov value,%ebx;把value所代表的值传递给e
2011-10-25 00:00:16
1292
原创 操作系统精髓与设计原理【chapter one复习题】
CHAPTER ONE 计算机系统概述复习题:1.1 列出并简要的定义计算机4哥主要组成部分。 处理器;内存;输入输出模块;系统总线;1.2 定义处理器寄存器的两种主要类别 数据寄存器;地址寄存器;1.3 一般而言,一条机器指令能指定的4种
2011-10-16 23:00:39
927
原创 别人都linux更新咱来个linux降低版本试试!
ubuntu 11.04 最新的内核是2.6.38.8~ ~!运行ldd3的代码,会有些问题,毕竟版本更新了后;有些不兼容了。于是乎我就想着能不能把内核版本降低;懒得弄新的linux了~ ~!另一方面也试试玩儿! 罪恶愿与寂寞;一、www.kernel.org现在了个li
2011-08-31 00:39:23
1664
原创 virtual box里的fedora
windows下安装virtualbox 然后 fedora很简单;基本上下一步下一步。如今linux也变得easy好看了~1:mount -t vboxsf share /mnt/share 挂载共享文件夹首先需要:进入系统,然后点击设备->安装增强功能;
2011-08-28 00:20:28
535
转载 程序员10层~~~
<br />自西方文艺复兴以来,中国在自然科学方面落后西方很多,软件领域也不例外。当然现在中国的许多程序员们对此可能有许多不同的意见,有些人认为中国的程序员水平远落后于西方,有些则认为中国的程序员个人能力并不比西方的程序员差,只是整个软件产业落后而已。那么,到底中国的程序员水平比西方程序员水平差,还是中国有许多优秀的程序员达到或超过了西方程序员同等水平呢?要解决这个问题,必须先知道程序员有多少种技术层级,每个层级需要什么样的技术水平,然后再比较中国和西方在各个技术层级的人数,就可以知道到底有没有差距,差距有
2011-04-26 22:06:00
687
转载 编程修养
<br />什么是好的程序员?是不是懂得很多技术细节?还是懂底层编程?还是编程速度比较快?我觉得都不是。对于一些技术细节来说和底层的技术,只要看帮助,查资料就能找到,对于速度快,只要编得多也就熟能生巧了。<br />我认为好的程序员应该有以下几方面的素质:<br /> 1、有专研精神,勤学善问、举一反三。<br /> 2、积极向上的态度,有创造性思维。<br /> 3、与人积极交流沟通的能力,有团队精神。<br /> 4、谦虚谨慎,戒骄戒燥。<br /> 5、写出的代码质量高。包括:代码的稳定、易读、规范、
2010-11-13 14:03:00
510
转载 内存屏障(memory barrier)
<br /> 首先看看__set_current_state()和set_current_state()函数的区别<br />#define __set_current_state(state_value) /<br /> do { current->state = (state_value); } while (0)<br /> <br />#define set_current_state(state_value) /<br /> set_mb(current->state,
2010-08-30 21:14:00
774
转载 写时拷贝技术
<br />1、概念Scott Meyers在《More Effective C++》中举了个例子,不知你是否还记得?在你还在上学的时候,你的父母要你不要看电视,而去复习功课,于是你把自己关在房间里,做出一副正在复习功课的样子,其实你在干着别的诸如给班上的某位女生写情书之类的事,而一旦你的父母出来在你房间要检查你是否在复习时,你才真正捡起课本看书。这就是“拖延战术”,直到你非要做的时候才去做。当然,这种事情在现实生活中时往往会出事,但其在编程世界中摇身一变,就成为了最有用的技术,
2010-08-30 11:16:00
1279
转载 深入探索Win32结构化异常处理
在Win32操作系统提供的所有功能中,使用最广泛而又没有公开的恐怕要数结构化异常处理(Structured Exception Handling,SEH)了。当你考虑Win32结构化异常处理时,也许会想到__try、__finally和__except等术语。可能你在任何一本讲解Win32的好书上都能找到关于SEH较为详细的描述,甚至Win32SDK文档也对使用__try、__finally和__except进行结构化异常处理进行了相当完整的描述。既然已经有了这些文档,那为什么我还说SEH并
2010-08-25 16:47:00
954
转载 一些排序算法
<br /> <br />鸽巢排序,排序字节串、宽字节串最快的排序算法,计数排序的变种(将计数缓冲区大小固定,少一次遍历开销),速度是STL中std::sort的20多倍,更重要的是实现极其简单!缺点是需要一个size至少等于待排序数组取值范围的缓冲区,不适合int等大范围数据C/C++ code<br />void PigeonholeSort(BYTE *array, int length)<br />{<br />int b[256] = {0};<br />int i,k,j =0;<br
2010-08-11 16:25:00
455
转载 BSS Block Started by Symbol segment
<br />BSS(Block Started by Symbol)这个词最初是UA-SAP汇编器(United Aircraft Symbolic Assembly Program)中的一个伪指令,用于为符号预留一块内存空间。该汇编器由美国联合航空公司于20世纪50年代中期为IBM 704大型机所开发。<br />后来BSS这个词被作为关键字引入到了IBM 709和7090/94机型上的标准汇编器FAP(Fortran Assembly Program),用于定义符号并且为该符号预留给定数量的未初
2010-07-27 16:26:00
1726
计算机组成原理 pdf
2010-04-28
nasm教程 nasm chinese book
2010-04-28
深入分析Linux内核源码 陈莉君著
2009-09-05
GNU make中文手册 ver3.8
2009-09-05
GDB完全中文手册 GDB是一个强大的命令行调试工具
2009-09-05
Windows程序设计(C语言)
2009-07-15
程序员的SQL经典-第一本专门为程序员编写的数据库图书
2009-07-15
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人