自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Geek猫的专栏

赞扬雷锋精神

原创 git 常用命令

查看当前分支版本号 git rev-parse HEAD ...

2019-01-17 14:31:40 168 0

原创 linux下磁盘分区操作

查看磁盘 ls /dev/sd 查看磁盘信息 fdisk -l 查看磁盘挂载信息 df -h 格式化磁盘 fdisk /dev/sdb n 添加一个分区 p 主分区 1 分区号 后续默认 w 保存分区 给分区安装文件系统 mkfs.ext4 /dev/sdb1 查看已挂载文件...

2019-01-16 20:17:42 193 0

原创 Linux 下rm删除文件恢复方法

apt-get install extundelete extundelete --inode 2 /dev/sda1 //恢复单个文件 extundelete /dev/sdb1 --restore-file 恢复的文件路径 // 根据节点号恢复 extundelete /dev/sda1 -...

2019-01-16 17:11:34 1233 0

原创 VIM 自动编译、运行

在命令行模式下 Ctrl+R编译编译并运行 :cmap <C-R> make && ./help 在Normal模式下 按F5即可编译运行 :map <F5> :make &&am...

2019-01-16 00:35:21 440 0

原创 VIM复制粘贴快捷键

gg 定位到第一行, V 选中光标所在行,G定位到文件末尾 Ctrl+A Ctrl+C 全选复制 :map <C-A> <Esc>ggVGy Ctrl+A Ctrl+x q剪切 :map <C-X> &...

2019-01-16 00:21:15 1195 0

原创 VIM 光标移动

行移动 向上移动一行,按=号向上移动一行 :map = dd2kp 向下移动一行,按=号向上移动一行 :map - ddp 插入模式下光标移动 向下一个字符的后面插入 :ioremap la 代表 Ctrl+L 退出插入模式,进入标准模式 L 在标准模式下是向后移动一个字符, a...

2019-01-16 00:19:24 67 0

原创 VIM括号自动补全

插入模式下按键映射 :inoremap ( ()i inoremap 防止重映射 ( 代表 () 退出插入模式 i 进入插入模式 :inoremap ) ()i :inoremap [ []i :inoremap ] []i :inoremap < &lt...

2019-01-15 23:34:41 846 0

原创 vim按键映射

按键映射,如 \ 代替dd 删除一行 :map \ dd 查看某个按键映射 verbose map xx 命令 正常模式 视图模式 操作运算模式 插入模式 命令行模式 :map y y y :nmap y :vmap y :omap y...

2019-01-15 23:18:17 516 0

原创 VIM 使用

vi vi 下输入Q 进入EX模式 EX 模式下 输入vi 进入 vi模式 EX 模式是行模式 查看配置文件路径 vim --version 系统级配置文件,对所有用户都有效 /etc/vim/vimrc 用户级配置文件,只对当前用户有效 $HOME/.vimrc 配置 vimrc ...

2019-01-15 22:57:47 64 0

原创 golang package io

io包提供了对I/O原语的基本接口。本包的基本任务是包装这些原语已有的实现(如os包里的原语),使之成为共享的公共接口,这些公共接口抽象出了泛用的函数并附加了一些相关的原语的操作。 因为这些接口和原语是对底层实现完全不同的低水平操作的包装,除非得到其它方面的通知,客户端不应假设它们是并发执行安全的...

2019-01-15 19:34:13 55 0

原创 golang package bufio

bufio包实现了有缓冲的I/O。它包装一个io.Reader或io.Writer接口对象,创建另一个也实现了该接口,且同时还提供了缓冲和一些文本I/O的帮助函数的对象。 func NewReader(rd io.Reader) *Reader NewReader创建一个具有默认大小缓冲、从r读...

2019-01-15 11:03:51 107 0

原创 golang naoina/toml

包toml使用反射对toml配置格式进行编码和解码。 文档: https://gowalker.org/github.com/naoina/toml go get github.com/naoina/toml example.toml # This is a TOML document. Boom...

2019-01-15 10:51:18 124 0

原创 #pragma预处理命令

设定编译器状态 指示编译器完成一些特定的动作 格式 #pragma pack([n]):指示结构体和联合成员的对齐方式 #pragma message(“string”):编译信息输出窗口打印文本信息 #pragma warning:有选择地改变编译器的警告信息行为 #pragma once...

2019-01-14 21:47:00 215 0

原创 GCC预处理

预处理过程:宏命令展开、文本替换 头文件展开: 将#include包含的文件插入到该指令位置 宏展开: 展开所有的宏定义,并删除#define 条件编译: 处理所有的条件预编译指令: #if、 #ifdef、 #else 删除注释 添加行号和文件名标识: 编译调试时显示行号信息 保留#pragm...

2019-01-14 21:44:31 380 0

原创 GCC编译工具链

编译过程控制: -E:预处理,会调用cpp预处理器,但不生成文件。 gcc –E main.c -o main.i -C : 预处理时,不删除注释信息 -s :生成汇编文件, GCC合并预编译和编译,调用ccl程序完成 -c:将源文件编译成目标文件,但是不链接,调用汇编器as -o : 输出目...

2019-01-14 21:44:06 470 0

原创 QEMU介绍

QEMU 是一个模拟器,可以模拟CPU、ARM、x86\MIPS等架构。 可以仿真ARM处理器:ARM926E、ARM1136、Cortex-A8/A9 模拟真实的开发板、外设:串口、LCD、网卡、USB、SD卡… ARM express开发板简介 Vexpress 系列开发板 全称vers...

2019-01-14 18:10:02 431 0

原创 NFS文件系统

apt install nfs-kernel-server vim /etc/exports /root/qemu/rootfs *(rw,sync,no_root_squash,no_subtree_check) /etc/init.d/rpcbind restart /etc/init.d/...

2019-01-14 17:38:50 169 0

原创 安装tftp工具

apt-get install tftp-hpa tftpd-hpa xinetd vim /etc/default/tftpd-hpa TFTP_USERNAME="tftp" TFTP_DIRECTORY="/root/tftpboot" TFTP_...

2019-01-14 17:33:44 324 0

原创 qemu-system-arm 启动系统

qemu-system-arm 命令用法 qemu-system-arm -M vexpress-a9 -m 512M -kernel ./uImage -dtb ./vexpress-v2p-ca9.dtb -nographic -append "console=tty...

2019-01-14 17:13:25 3109 0

原创 qemu 安装

安装编译器 apt install git apt install gcc g++ apt install u-boot-tools apt install gcc-arm-linux-gnueabi apt install g++-arm-linux-gnueabi readelf -h fi...

2019-01-14 15:34:30 664 0

原创 链接脚本

OUTPUT_FORMAT("elf32-littlearm","elf32-bigarm","elf32-littlearm") ; 输出ELF文件格式 OUPUT_ARCH("arm") ;输出可执行文件的运行平台...

2019-01-13 16:18:53 298 0

原创 ARM编译器和GNU ARM编译器之间的差异

arm 编译器 GNU ARM编译器 描述 用法 AREA copy,CODE,… .text 定义代码段 AREA,dat,DATA,… .data 定义数据段 .section 定义段 .align 地址对齐方式 ; /**/或@ 代码注释 D...

2019-01-13 15:13:27 1266 0

原创 汇编和C混合编程

ATPCS 规则 ATPCS : ARM-Thumb Procedure Call Standard 堆栈使用规则 使用满递减堆栈(FD),入栈出栈操作使用 LDMFD/STMFD 子程序调用基本规则 子程序间通过寄存器R0~R3传递参数和返回结果,参数多于4个,其余的使用堆栈传参。 子程...

2019-01-13 13:56:37 579 0

原创 golang package reflect

reflect包实现了运行时反射,允许程序操作任意类型的对象。典型用法是用静态类型interface{}保存一个值,通过调用TypeOf获取其动态类型信息,该函数返回一个Type类型值。调用ValueOf函数返回一个Value类型值,该值代表运行时的数据。Zero接受一个Type类型参数并返回一...

2019-01-12 08:53:17 248 0

原创 golang package heap

heap包提供了对任意类型(实现了heap.Interface接口)的堆操作。(最小)堆是具有“每个节点都是以其为根的子树中最小值”属性的树。 树的最小元素为其根元素,索引0的位置。 heap是常用的实现优先队列的方法。要创建一个优先队列,实现一个具有使用(负的)优先级作为比较的依据的Less方...

2019-01-11 15:52:31 73 0

原创 golang gopkg.in/fatih/set.v0

golang gopkg.in/fatih/set.v0 提供了通用集数据结构的线程安全和非线程安全实现。 官方文档: https://gopkg.in/fatih/set.v0 https://godoc.org/gopkg.in/fatih/set.v0 go get gopkg.in/fat...

2019-01-09 19:36:38 680 0

原创 linux 文件操作命令

mount -t type device dir type 指定挂载的文件系统类型。 df -h 统计磁盘使用率。挂载到系统的磁盘才可以查看 du 统计每个目录的大小 find . -name "*.c" | wc -l 当前目录下的C文件个数 ls ...

2019-01-09 19:35:21 150 0

原创 go-metrics

go-metrics — 对Go应用进行代码级的打点监控测量 源码 : https://github.com/rcrowley/go-metrics go get github.com/rcrowley/go-metrics go get github.com/vrischmann/go-metr...

2019-01-09 10:40:28 649 0

原创 golang package unsafe

unsafe包提供了一些跳过go语言类型安全限制的操作。 import “unsafe” type ArbitraryType int ArbitraryType在本文档里表示任意一种类型,但并非一个实际存在与unsafe包的类型。 type Pointer *ArbitraryType Po...

2019-01-09 10:39:33 48 0

原创 linux常用命令

查看根目录inode编号 root@vm:~# ls -i -d / 2 / 1 表示虚拟文件系统。 其他目录的inode编号 root@vm:~# ls -i 79953929 Desktop 79953933 Documents 79953930 Downloads 79954396 ...

2019-01-08 19:41:47 44 0

原创 golang package stack

包堆栈实现了捕获、操作和格式化,提供了比runtime包更简单的API。 官方文档: https://godoc.org/github.com/go-stack/stack import “github.com/go-stack/stack” package main import ( &qu...

2019-01-08 15:27:50 508 0

原创 golang package signal

signal包实现了对输入信号的访问。 import “os/signal” func Notify(c chan<- os.Signal, sig ...os.Signal) Notify函数让signal包将输入信号转发到c。如果没有列出要传递的信号,会将所有输入信号传递到c;...

2019-01-07 15:43:01 48 0

原创 golang package time

time包提供了时间的显示和测量用的函数。日历的计算采用的是公历。 import “time” type Ticker struct { C <-chan Time // 周期性传递时间信息的通道 // 内含隐藏或非导出字段 } Ticker保管一个通道,并每隔一段...

2019-01-07 14:52:02 58 1

原创 golang package atomic

atomic包提供了底层的原子级内存操作,对于同步算法的实现很有用。 import “sync/atomic” func LoadUint64(addr *uint64) (val uint64) LoadUint64原子性的获取*addr的值。 func StoreUint64(addr *u...

2019-01-07 14:44:24 201 0

原创 golang package syscall

import “syscall” type Rlimit struct { Cur uint64 Max uint64 } RLIMIT_NOFILE = 0x7 func Getrlimit(resource int, rlim *Rli...

2019-01-03 20:19:39 772 0

原创 golang package path

package filepath filepath包实现了兼容各操作系统的文件路径的实用操作函数。 import “path/filepath” func Join(elem ...string) string Join函数可以将任意数量的路径元素放入一个单一路径里,会根据需要添加路径分隔符。...

2019-01-03 12:01:48 303 0

原创 golang package os

import “os” func Getenv(key string) string Getenv检索并返回名为key的环境变量的值。如果不存在该环境变量会返回空字符串。 root@vm:~# echo $HOME /root package main import ( &a...

2019-01-03 11:46:20 142 0

原创 golang package pflag

官方文档 : https://godoc.org/github.com/spf13/pflag import “github.com/spf13/pflag” package main import ( "fmt" "github.com/spf13/pfla...

2019-01-03 10:17:09 347 0

原创 golang package viper

官方网站: https://godoc.org/github.com/spf13/viper go get -u -v github.com/spf13/viper func (v *Viper) ConfigFileUsed() string func (v *Viper) Unmarshal(...

2019-01-02 16:35:09 209 0

原创 golang package fmt

func Fprintln(w io.Writer, a ...interface{}) (n int, err error) Fprintln采用默认格式将其参数格式化并写入w。总是会在相邻参数的输出之间添加空格并在输出结束后添加换行符。返回写入的字节数和遇到的任何错误。 package ma...

2019-01-02 15:04:04 52 0

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