- 博客(34)
- 资源 (5)
- 收藏
- 关注
原创 UNIX Time
UNIX TimeCalendar Time1. time2. gettimeofdayBroken-Down TimeBroken-Down Time与字符串形式的互转1. struct tm转成字符串2. 字符串转struct tmBroken-Down Time 转日历时间(time_t)一个示例总结三种时间表示形式获取日历时间(time_t)的系统调用从日历时间(time_t)到日期时间(...
2018-12-09 16:38:10
749
原创 golang database/sql 包的使用
database/sql 包的使用安装 mysql driver$ go get -v github.com/go-sql-driver/mysql创建连接池:sql.Openfunc newPool() *sql.DB { cfg := mysql.NewConfig() cfg.User = "root" cfg.Passwd = "xxxxxx" cfg.Net = "tc...
2018-11-13 16:50:00
9587
原创 go 异常处理
go异常处理func try(block func(), catch func(e interface{}), finally func()) { defer func() { e := recover() // 当block中panic时,recover将返回panic的参数 if e != nil { // 当block中没有panic时,recover将返回nil catc...
2018-09-19 18:46:11
1284
原创 AVL树
AVL 树AVL 树是一种平衡的二叉搜索树(BST),它的结构和操作与BST都是一致的,只是多加了一个平衡条件AVL树的平衡条件是:它的任一节点的左子树和右子树的高度差的绝对值小于等于1概念回顾:树的高度等于其根节点的高度节点的高度等于该节点与它最下面的叶子节点之间的边数由定义可知,叶子节点的高度为0 为了便于计算,规定叶子节点的(假想的)子节点的高度为-1那么判...
2018-04-21 22:58:51
334
原创 Binary Search Tree
Binary Search Tree (Go语言描述)BST是一种有序的二叉树 它的性质是: 对于任意节点X,它的左子树的值都比它的值小,右子树的值都比它的值大。 例如: 如何在内存中表示这样的结构呢? 这个结构是如何构造的呢? 如何添加节点? 如何删除节点? 如何查找节点?下面分别介绍bst的节点类型,及相关操作- 节点类型定义type node_t st...
2018-04-19 22:36:31
2337
原创 创建ipa脚本
#!/bin/bashif test $# -ne 1then echo 'usage: createipa file.app' exit 1fiif test -e Payloadthen rm -rf Payloadfimkdir Payloadappname=$(basename "$1")apppath=$(dirname "$1")/"$appname"
2017-09-01 16:42:18
334
原创 Orange'S 第三章第二节实验
这个实验没有完全按照书上的来,这个实验对比第一小节只是增加了栈段,有了栈,就可以安全的使用C函数了desc.h 代码#include <stdint.h>// Type field#define TYPE_DATA_RO 0#define TYPE_DATA_RO_A 1#define TYPE_DATA_RW 2#define TYPE_D
2017-08-28 00:22:49
289
原创 Orange'S 第三章第一节实验
这个实验主要包含三部分第一部分是定义全局描述符表gdt,以及全局描述符表指针gdtr第二部分是16位代码段,主要工作有:关中断开启A20开启保护模式跳到保护模式第三部分是32位代码段,往显存里写一个字母’p’分析首先第一部分是纯数据,可以用C语言来实现,代码如下:desc.h#include <stdint.h>// Type field#define TYPE_DATA_RO
2017-08-27 21:17:53
471
原创 Orange'S 第一章实验
本实验在Linux环境上用gnu as汇编格式完成 .code16 .org 0x7c00 movw %cs, %ax movw %ax, %ds movw %ax, %es movw $hello, %ax movw %ax, %bp movw $13, %cx movw $0x1301, %ax movw $0x000
2017-08-19 22:14:27
345
原创 ia-32 C语言栈帧布局
栈指针 栈内容 ebp间接寻址 frame 1 old ebp value local variable 1 local variable 2 local variable 3 … arg2 12(%ebp) arg1 8(%ebp) ret addr 4(%ebp) f
2017-08-10 00:38:44
421
原创 Professional Assembly Language 十二章系统调用例子for mac
十二章系统调用例子程序$ cc -arch i386 syscalltest.s$ ./a.outhello, world .text .globl _main .p2align 4, 0x90_main: pushl %ebp movl %esp, %ebp call L_0L_0: popl %eax leal L_str-L
2017-08-09 23:23:21
456
原创 第五章movetest3.s例子
在macOS Terminal中输入cc -arch i386 -Wl,-no_pie cpuid.s./a.out输出The value is 10The value is 15The value is 20The value is 25The value is 30The value is 35The value is 40The value is 45The value is
2017-07-25 11:10:05
350
原创 macOS汇编语言摘要
C++int global_value = 1;static int static_value = 2;void foo(){ static_value = 3;}int global_value_uninitialized;static int static_value_uninitialized;int main(){ static_value_uninitialized =
2017-07-25 00:53:38
588
原创 第四章例子程序
欢迎使用Markdown编辑器写博客本Markdown编辑器使用StackEdit修改而来,用它写博客,将会带来全新的体验哦:Markdown和扩展Markdown简洁的语法代码块高亮图片链接和图片上传LaTex数学公式UML序列图和流程图离线写博客导入导出Markdown文件丰富的快捷键快捷键加粗 Ctrl + B 斜体 Ctrl + I 引用 Ctrl
2017-07-24 21:45:01
202
原创 javascript中的super
/* Uber – access to the parent from a child object */function Shape() { }Shape.prototype.name = 'Shape';Shape.prototype.toString = function() { var uber = this.constructor.uber; return uber
2015-12-25 16:54:43
1122
原创 javascript核心概念
每个对象都有一个隐蔽的__proto__属性每个函数都有一个prototype属性函数是对象每个原型都有一个constructor属性原型是对象对象的__proto__属性指向创建该对象的构造器的prototype当构造器的prototype改变后,记得要修改原型的constructor属性Object.prototype.__proto__ 是nullObjec
2015-12-25 15:38:11
327
原创 javascript中的继承
摘自Object Oriented Javascript 一书基于临时函数的继承机制先上代码:/* Temporary constructor */function Shape() { }Shape.prototype.name = 'Shape';Shape.prototype.toString = function() { return this.name
2015-12-25 15:31:40
304
原创 树莓派2 gpio led blink实验
树莓派2使用的是bcm2836,树莓派1使用的是bcm2835,据说bcm2836除了CPU使用的是cortex-a7,外设与bcm2835基本相同,因为官方没有提供bcm2836的外设参考手册,所以只能使用bcm2835的外设参考手册,BCM2835-ARM-Peripherals.pdf手册中第5页的地址映射图如下:左侧的是bcm2835中的GPU的虚拟地址空间,中间的
2015-11-27 22:44:19
1988
原创 makefile太难了,学不会,自己用Python写个简单的构建工具
makefile 太复杂了,学的不精。自己用Python写一个构建工具基本用法:创建buildconfig文件pymake -c构建pymake清理pymake clean帮助pymake --help
2015-10-16 16:24:00
1856
原创 hello bootsector
代码: ; boot.asm .model tiny .code org 7c00hstart: mov ah, 13h mov al, 01h mov bh, 00h mov bl, 04h mov cx, hear-msg mov dh, 00h mov dl, 00h mov bp, offset msg int 10h jmp $ msg d
2012-07-07 11:08:06
895
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人