自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(13)
  • 收藏
  • 关注

原创 java版猜数字游戏

平时自己对c语言很熟,编写代码一直是面向过程,对java或面向对象完全不熟。最近花了一天时间学习了一下java基本语法,然后拿猜数字这个经典游戏练练手。个人感觉其实对于一门陌生语言,万变不离其宗,哪怕面向对象也好,摸清代码的执行流程,弄明白由哪儿进从哪儿出,输入什么输出什么,很快就能摸清代码逻辑,然后依着葫芦画瓢,也能很快上手。Bulls and Cows

2016-12-16 16:52:23 690

原创 求解二叉树所有节点的深度

如何求解一个二叉树所有节点的深度?常见的算法是采用递归求解二叉树的最大深度,算法如下:int maxDepth(node *p) { if (!p) return 0; int lh = maxDepth(p->left); int rh = maxDepth(p->right); return lh > rh ? l

2016-10-05 21:13:04 8933 5

原创 调试器的原理-详解ptrace函数及fork父子进程跟踪实例

最近仔细研究了一下linux调试程序的原理.gdb是linux下最为强大的调试工具,而strace可以拦截程序执行过程中的系统调用.他们的背后都隐藏了一个强悍的支持函数ptrace().调试程序过程中我们可以单步执行,逐步检查程序的输入输出,从而判断程序错误,当然我们也可以抛弃gdb,自己实现一个"外挂程序",拦截主程序中我们感兴趣的东西,比如ssh或ftp登录密码.

2016-06-16 16:26:57 3117

原创 go语言实现的简单web服务器

go语言让web服务器实现和部署变得异常简洁.终于可以抛开乱七八糟的项目结构和体积庞大的IDE,一窥其基本原理.

2016-06-06 15:52:13 3018

原创 go语言版的猜数字游戏

猜数字(Bulls and Cows)是一个经典的小游戏,这个游戏逻辑简单但代码实现富有挑战性,非常适合编程练手使用.最近学习go语言中,下面是go语言版的Bulls and Cows

2016-05-30 15:33:19 1236 1

原创 C语言字符串数组与字符串指针详解

字符串数组与字符串指针在使用上有很多相似的地方,导致对两者的理解容易混淆.下面我们将从汇编的角度来详细审视一下两者的区别.

2016-05-24 13:55:58 840

原创 C语言函数内static关键字详解

static关键字有两类使用:函数外使用和和函数内使用,其中函数外使用主要用来限制被修饰的函数或变量作用域为本文件,没什么可多说的,下面重点说一下static关键字在函数体内的用法.

2016-05-21 20:29:39 10821

原创 汇编代码中lea指令的另一种使用

今天看汇编代码的时候无意看到了一个lea指令的巧妙用法,觉得很有意思,有必要记录一下

2016-05-21 16:48:03 1485

原创 C语言以数组和结构体传参

C语言函数调用时的传参操作在32位x86机器上依赖栈进行.而在x86_64的机器上使用了部分寄存器作为辅助,但如果参数过多,寄存器不够使用,此时也必须借助于栈操作实现传参.尽管C语言对函数传递参数的个数没有明确限制(依编译器实现而定:http://stackoverflow.com/questions/9034787/function-parameters-max-number),但过多的参数传递势必影响代码执行效率.

2016-05-21 10:33:06 7125 1

原创 一个直接插入排序算法程序

直接插入排序,算法简单,程序易编制,但随着数组长度的增加,搜索时间会增加,移动的元素会增多.因此这种算法适合排序数组长度较短的情况.

2016-05-12 10:35:00 1033

原创 一个复杂的堆排序程序

用堆排序的方法实现将数组中的数字从小到大排列.编译器:gcc, 编译环境:32位系统可以正常编译; 如果是64位系统请使用 -m32参数, 或修改宏定义中的汇编代码部分.

2016-05-09 15:59:11 573 1

原创 一个二叉排序树的实际例子

用二叉排序树实现的将乱序输入字母按从小到大排列,无重复输出项.

2016-05-08 11:20:04 2602

原创 Check whether userfaultfd is available

Userfaultfd system call is the key component of qemu/KVM postcopy live migration. It requires linux kernel 4.3 or above and userfaultfd feature enabled in kernel configuration. This little app checks whether this feature is available.

2016-05-07 22:15:52 689

空空如也

空空如也

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

TA关注的人

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