自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

奔跑的路

要么行走在路上,要么静思于眼下。

  • 博客(402)
  • 资源 (65)
  • 收藏
  • 关注

原创 Linux内核驱动——并发和竞争的处理

加锁和互斥的目的是为了保护共享资源(数据或外设地址)不被多个线程同时访问,而不是保护代码被同时执行 一、信号量信号量为1表示资源可用,为0表示资源不可用,对信号量的加减主要涉及PV操作,进入临界区调用P操作(down)将信号量减1,推出临界区调用V操作(up)将信号量加1.1. 信号量的实现struct semaphore *sem;void semaphore_init(...

2018-07-28 17:11:43 2069 1

原创 Linux内核学习笔记——中断,tasklet和工作队列

对于操作系统来说,中断的实现和裸机代码是不一样的,对于裸机代码来说,它的处理过程更符合下面这个流程,我们在编写裸板驱动代码的时候,一般处理的是硬件中断,而且中断号也是硬件中断号,这个中断号是和CPU寄存器的连线方式直接相关的,只要连线方式一确定,那么外设对应的中断号就确定了。比如在下面这个图中,中断源可以是TIMER或者BUTTON,对应的中断号是6和16,当这些外设产生中断信号的时候,它首先通过...

2018-06-10 18:55:45 7657

原创 vmware ubuntu搭建samba用于和windows共享

        实现过程:                1.sudo apt-get samba                2.ps -aux 查看服务是否开启    smbd -F nmbd -D(若未开启  执行sudo /etc/init.d/smbd start )                3.在home下创建share文件夹   mkdir   /home/share  (注...

2018-06-09 13:10:39 2275 1

转载 Linux 内核网络协议栈 ------sk_buff 结构体 以及 完全解释 (2.6.16)

在2.6.24之后这个结构体有了较大的变化,此处先说一说2.6.16版本的sk_buff,以及解释一些问题。一、先直观的看一下这个结构体~~~~~~~~~~~~~~~~~~~~~~在下面解释每个字段的意义~~~~~~~~~~~[cpp] view plain copy struct sk_buff {           /* These two members must be first. */...

2018-04-08 10:32:47 1205 1

原创 selenium webdriver 页面css和xpath定位

对于html来说,不管用什么浏览器打开,他的架构是不变的,所以对于编写自动化测试程序来说,基于什么浏览器开发,差异不大,所以这里推荐使用chrome 65或以后版本浏览器,之所以推荐这个浏览器,是因为它可以不用安装任何插件,就可以很方便的提供定位相关的功能。chrome浏览器可以用F12调出调试窗口,用ctrl + F可以调出选择器和xpath搜索输入框,在搜索时可以显示搜索到结果的个数,如果搜索...

2018-03-24 20:19:05 1793

转载 【Python】 Selenium常见元素定位方法和操作的学习介绍

这篇文章主要Selenium+Python自动测试或爬虫中的常见定位方法、鼠标操作、键盘操作介绍,希望该篇基础性文章对你有所帮助,如果有错误或不足之处,请海涵~        前文目录:        [Python爬虫] 在Windows下安装PhantomJS和CasperJS及入门介绍(上)        [Python爬虫] 在Windows下安装PIP+Phantomjs+Seleni...

2018-03-11 20:53:56 1324

转载 【Python】selenium webdriver 启动三大浏览器Firefox,Chrome,IE

一. 安装Python3     1. 进入Python官方网站:https://www.python.org/downloads/  下载并安装最新版本的Python(建议安装Python3) 。  下面是Python官网上几个版本的区别:                     (1).web-based installer 是需要通过联网完成安装的                     (...

2018-03-11 20:40:33 3279

原创 学习Linux-4.12内核网路协议栈(3.2)——网路层的发包处理

上篇文章介绍了接口层将IP包传给网络层以后的处理过程,主要是包括传给上层,转发和丢包处理。这篇文章将介绍传输层怎么将包传递给网络层,以及传给网络层以后的处理过程。这里主要分两部分:TCP包的发送和UDP包的发送。在TCP中,将TCP段打包成IP数据报的方法根据TCP段类型的不同而有多种接口,最常用的就是ip_queue_xmit,而ip_build_and_send_pkt和ip_send

2017-09-03 21:12:07 2277 1

原创 学习Linux-4.12内核网路协议栈(3.1)——网路层的收包处理

现在我们将进入传输层的分析:在前面我们知道,数据包到达接口层的时候,它会根据ptype_base来查询包的类型,并根据包的类型交给不同的网络层函数处理,比如ip_recv,icmp_recv等,现在我们就来看看网络层是怎么处理不同类型的包的:1. IP私有信息控制块 40 struct inet_skb_parm { 41 int iif;

2017-09-03 13:56:36 2259

原创 学习Linux-4.12内核网路协议栈(2.4)——接口层数据包的发送

这篇文章主要介绍网络层的数据是怎么通过接口层将数据发送出去的,在开始之前我们还是再来看一下softnet_data这个很重要的结构体:struct softnet_data { struct list_head poll_list; struct sk_buff_head process_queue; /* stats */ unsigned int

2017-08-29 09:53:01 2769

原创 学习Linux-4.12内核网路协议栈(2.3)——接口层数据包的接收(下半部)

我们来继续分析net_rx_action:static __latent_entropy void net_rx_action(struct softirq_action *h){ struct softnet_data *sd = this_cpu_ptr(&softnet_data); unsigned long time_limit = jiffies +

2017-08-28 20:03:23 1911

原创 学习Linux-4.12内核网路协议栈(2.2)——接口层数据包的接收(上半部)

前面写了这么多,终于可以开始分析数据报的传输过程了,那我们就愉快的开始吧!我们知道,一个中断处理函数主要分两个部分,上半部和下半部,这篇文章主要介绍上半部分。当一个数据包到达的时候,网卡驱动会完成接收并且触发中断,我们就从这个中断处理函数开始:当一个中断产生并发送给CPU的时候,对于NAPI和不支持NAPI的设备来说处理结果是不一样的,NAPI调用的函数是napi_schedule

2017-08-28 00:00:25 2290

原创 学习Linux-4.12内核网路协议栈(2.1)——接口层加快传输速率的特性

前面花了好多篇幅,终于将网络协议栈的初始化相关的内容介绍完了,也就是说完成前面的那些步骤以后,网络协议栈具备了数据包的收发功能。在网络接口层,它只负责数据包的接收与发送,而不关注数据包在网络层的类型是什么,所以传输速率的快慢往往与接口层的处理有着密切的关系,下面我们来了解一下在提供传输速率上面,现在的内核都引进了哪些新的特性。数据包的接收: NAPI, RPS,RFS数据包的发送: TSO

2017-08-27 18:40:33 1103

转载 udhcp源码详解

udhcp源码详解(五)udhcp源码详解(四)udhcp源码详解(三) 下udhcp源码详解(三) 上udhcp源码详解(二)udhcp源码详解(一)udhcp详解源码(序)

2017-08-27 18:38:53 1860

原创 linux设备模型——总线,驱动,设备间的关系

设备模型之kobject,kset及其关系关于linux设备模型kobject,kset,ktype设备驱动基础0:设备模型之kobject,kset及其关系 设备模型之总线,驱动,设备Linux驱动之bus_register分析Linux设备管理(一)_kobject, kset,ktype分析

2017-07-17 09:11:43 1165

原创 学习Linux-4.12内核网路协议栈(1.8)——网络设备驱动模块的加载

1.了解PCI总线说到网络设备驱动,就不得不说PCI总线,但是这个话题可深可浅,而且网上的资料也是一大堆(比如),但是对于我们来说,目前并不需要掌握很深,下面是网上找的两张最基本的PCI工作结构图,虽然PCI总线上可以挂接不同种类的设备,但我们这里只要了解网络设备就够了,所以我更偏好第二张图,它够简单,也够直观。      关于PCI总线,这里主要介绍两个结构体,一个是

2017-07-16 19:32:28 2428

原创 学习Linux-4.12内核网路协议栈(1.7)——网络设备的初始化(struct net_device)

在linux的网络设备里,其中一个最关键的结构体应该要算net_device了,它由对应的网络设备驱动进行创建和初始化,服务于内核网络子系统。struct net_device这个结构体比较大,在了解它之前,我们先看一下它的注释:1433 /**1434  *  struct net_device - The DEVICE structure.1435  *      Actu

2017-07-16 19:21:19 8755

原创 学习Linux-4.12内核网路协议栈(1.6)——协议栈的初始化(inet_init实现过程)

这篇文章主要分析inet_init()函数的实现过程:1796 static int __init inet_init(void)1797 {1798 struct inet_protosw *q;1799 struct list_head *r;1800 int rc = -EINVAL;18011802 sock_skb_cb_check_siz

2017-07-14 14:57:03 1265

原创 学习Linux-4.12内核网路协议栈(1.5)——协议栈的初始化(inet_init主要数据结构)

前面了解到网络初始化申请了两块skb高速缓存和创建了一个/proc/net/protocols文件,现在开始重头戏,网络协议栈的初始化。这篇文章主要介绍网络栈中使用到的主要数据结构。网络协议栈的内核实现和理论上的分层有些不一样,在代码里面的分层如下图:开始前,先回顾一下应用层socket函数的调用,它会创建一个socket并返回对应的描述符:int sock

2017-07-09 21:37:52 1815

原创 学习Linux-4.12内核网路协议栈(1.4)——协议栈的初始化(proto_init)

这篇文章主要分析proto_init过程,它完成协议相关proc文件的创建3241 static __net_initdata struct pernet_operations proto_net_ops = {3242 .init = proto_init_net,3243 .exit = proto_exit_net,3244 };324

2017-07-09 10:42:28 1559

原创 学习Linux-4.12内核网路协议栈(1.3)——协议栈的初始化(sock_init)

static int __init sock_init(void){ int err; /* * Initialize the network sysctl infrastructure. */ err = net_sysctl_init(); if (err) goto out; /* *

2017-07-06 23:11:45 1614

原创 学习Linux-4.12内核网路协议栈(1.2)——协议栈的初始化(sk_buff)

sk_buff 是网络数据包的承载,是最关键的结构体之一/** * struct sk_buff - socket buffer * @next: Next buffer in list * @prev: Previous buffer in list * @tstamp: Time we arrived/left * @rb

2017-07-06 18:47:08 2296

原创 学习Linux-4.12内核网路协议栈(0)——前言

当决定开始写这个系列文章的时候,就意识到这可能会是个漫长的过程,也可能是个短暂的过程(如果自己中途放弃的话)。最近一段时间零零散散在了解内核网路协议栈相关的东西,有时候觉得好难,有时候觉得也就那么回事,这种感觉反反复复持续了一段时间,直到现在可以较为平静的面对这些问题的时候,决定对网络协议栈的学习做个梳理和记录,下面是阅读到的一些书籍:TCP IP详解卷1:协议 原书第2版

2017-07-03 17:46:12 3056

原创 学习Linux-4.12内核网路协议栈(1.1)——系统的初始化(do_initcalls)

我们知道,不管在什么样的平台上启动linux,它的开始都是以start_kernel()进行系统的初始化,当然网络协议栈的初始化也是在这个过程中完成,下面从start_kernel()开始跟踪:start_kernel() --> rest_kernel() --> kernel_thread(kernel_init, NULL, CLONE_FS) --> kernel_init_freea

2017-07-03 17:42:34 2424

转载 了解linux网络协议栈(五)——协议栈实现

linux网络报文接收发送浅析作者: 七伤 对于linux内核来说,网络报文由网络设备来进行接收。设备驱动程序从网络设备中读取报文,通过内核提供的网络接口函数,将报文传递到内核中的网络协议栈。报文经过协议栈的处理,或转发、或丢弃、或被传送给某个进程。 网络报文的发送与之相反,进程通过系统调用将数据送入网络协议栈,或者由网络协议栈自己发起报文的发送,然后协议栈通过调用网络接口函数

2017-05-27 16:36:16 640

转载 了解linux网络协议栈(四)——协议栈实现

Linux内核分析 - 网络[十七]:NetFilter之连接跟踪Linux内核分析 - 网络[十六]:TCP三次握手Linux内核分析 - 网络[十五]:陆由表[再议]Linux内核分析 - 网络[十四]:IP选项Linux内核分析 - 网络[八补]:IP协议补充

2017-05-06 10:23:33 924

转载 了解linux网络协议栈(三)——协议栈实现

【Linux4.1.12源码分析】virtio_net之NAPI机制【Linux4.1.12源码分析】virtio_net之中断注册【Linux4.1.12源码分析】收包软中断和NAPI【Linux4.1.12源码分析】VXLAN之remcsum实现分析【Linux4.1

2017-05-06 10:20:46 1234

转载 了解linux网络协议栈(二)——协议栈实现

第十六章PHY -基于Linux3.10第十五章 提升网络性能技术--基于Linux3.10第十四章 netlink机制--基于Linux3.10第十三章 网络命名空间(内核源码实现)--基于Linux3.10第十二章 trie路由--基于Linux3.10

2017-05-06 10:18:34 902

原创 了解linux网络协议栈(一)——内核模块初始化

linux驱动 之 module_init解析 (上)Linux内核很吊之 module_init解析 (下)linux驱动篇之 driver_register 过程分析(一)linux驱动篇之 driver_register 过程分析(二)bus_add_driverlist_for_each_entry宏函数解析

2017-04-29 11:02:48 2475 1

转载 linux内核模块初始化

内核启动过程中需要完成各个部分的初始化,比如中端、页面管理、slab分配器、任务调度器、网络、PCI设备等等的初始化,这些初始化大概可以分为两种:一种是关键的,必须完成的而且必须以特定的顺序来完成的初始化,这部分的代码往往是直接便如内核的而且是直接调用的另一种是非关键的的子系统(或者说模块、功能)的初始化,这部分根据配置可以不加载,可以以built-in的方式编到内核的可执行文件中,也可以

2017-04-29 10:23:01 2331

转载 知识的管理会比知识的存储更重要

《失控》       藏品多没什么意义,关键是索引,你能用最快的速度找到你想找的那件,这才是有意义的。在一个博尔赫斯的那种包含所有图书的图书馆,找到一本书和写出那本书同样困难,找书的过程其实就是写书的过程。狄德罗,百科全书派人物,畅想了人类知识的汇总,汇总于一个博尔赫斯的图书馆中,但是他假设任何知识都是不可压缩的,即你不能用一个更短的短语来描述一个稍长的短语,在这种情况下,索引就是知识

2017-04-02 19:04:19 526

转载 内核中_init,_exit中的作用

__init, __initdata等属性标志,是要把这种属性的代码放入目标文件的.init.text节,数据放入.init.data节──这一过程是通过编译内核时为相关目标平台提供了xxx.lds链接脚本来指导ld完成的。    对编译成module的代码和数据来说,当模块加载时,__init属性的函数就被执行;   对静态编入内核的代码和数据来说,当内核引导时,do_basic_s

2017-03-25 21:32:06 591

原创 hostapd wpa_supplicant madwifi详细分析(十五)——supplicant扫描结果排序规则

int (*compar)(const void *, const void *) = wpa_scan_result_compar;qsort(scan_res->res, scan_res->num, sizeof(struct wpa_scan_res *),compar); // qsort函数介绍static int wpa_scan_result_compar(con

2017-03-25 18:15:59 1916

转载 qsort用法--完整版(解释了cmp)【转】

qsort用法--完整版(解释了cmp)【转】用qsort快两年的时候了,却一直没有真正弄懂cmp函数的返回值1,-1,0的函数. 今天在做凸包时,郁闷了....所以请教了snoopy,终于弄懂了cmp返回值的意识:int cmp(const void *a, const void *b)返回正数就是说 cmp 传入参数第一个要放在第二个后面, 负数就是传入参数第一个要

2017-03-23 23:57:14 6673

转载 Linux下查看支持的信号列表

Linux下查看支持的信号列表我们运行如下命令,可看到Linux支持的信号列表:~$ kill -l 1) SIGHUP 2) SIGINT 3) SIGQUIT 4) SIGILL 5) SIGTRAP 6) SIGABRT 7) SIGBUS 8) SIGFPE 9) SIGKI

2017-03-18 21:23:28 2198

转载 Openwrt学习笔记(四)——系统开机启动 (续)

下面是英文原版,如果访问慢,也可以直接查看这里https://wiki.openwrt.org/doc/techref/init.detail.ccInit (User space boot) reference for Chaos Calmer: procdAnalysis of how the user space part of the boot sequ

2017-03-05 23:22:12 4882

原创 Openwrt学习笔记(四)——系统开机启动

1. 内核启动bootloader将kernel从flash中拷贝到RAM以后,bootloader将退出舞台,并将这个舞台交给了kernel。中间有些交接的细节过程,这里不赘述,我们直接从kernel的启动开始分析。不同平台的kernel启动时,最开始部分的汇编脚本会有些不一样,但是从汇编跳转到C语言的代码过程中的第一条命令大多数都是start_kernel函数,比如arm平台,

2017-03-05 20:50:37 23965 5

转载 Openwrt学习笔记(三)——内核启动

本来想整理一下linux内核启动的大致过程,后来网上找到了朱老师的关于这方面的付费视频课程,讲的挺好,所以这里就自己偷偷懒,直接将笔记贴上来了,希望没影响到人家的知识产权http://edu.51cto.com/lesson/id-87648.html第一部分、章节目录2.16.1.做好内核分析的准备工作2.16.2.head.S文件分析12.16.3.内核启动的汇

2017-02-28 22:18:06 4995 1

原创 Openwrt学习笔记(二)——Flash Layout and file system

在大多数系统中,闪存不像RAM一样可以直接执行指令,所以闪存中的数据和指令需要拷贝到RAM中执行,比如存放在flash中的kernel需要bootload的帮忙,将kernel拷贝到RAM里面才能运行。大多数router都是没有硬盘的,它使用闪存来完成相应的存储功能(包括存储固件以及系统数据),这种非易失性的闪存可以避免掉电丢失的问题。我们常接触的闪存主要有两种:NOR flash 和

2017-02-25 18:30:30 20764 2

原创 Openwrt学习笔记(一)——系统架构

下表是OpenWrt系统架构和其他系统架构的对比: Desktop DistributionsOpenWrtAndroidReplicantmer-basedTypical main memory size128 MiB to 16 GiB (or more)32 MiB to 512 MiB1

2016-12-11 12:18:35 12741 1

linux shell vim

自己写的一个简单的ppt介绍shell和vim里面的一些东西

2016-07-11

eap peer state machine

eap peer state machine是我自己画的一个状态机图

2016-07-09

802.1x std 2004+2010

IEEE官方发布的802.1X标准,英文版,未翻译

2016-07-04

wps packages

wps 抓包以及分析, 包括多种设备之间的wps 连接

2016-06-08

深入理解Android:WiFi模块 NFC和GPS卷 - 邓凡平

本书是经典畅销书“深入理解Android”系列的新作,由资深Android系统专家邓凡平先生撰写。从通信专业知识和Android系统代码实现的角度,对Netd、Wi-Fi、NFC和GPS等模块的代码进行深入的剖析,旨在深刻揭示其实现原理和工作流程。其中涉及大量通信相关的专业知识,因此特意邀请全志和高通等著名芯片公司的资深专家担任技术审校。本书从实际应用的需求出发,适合所有Android系统工程师、Android应用开发工程师和BSP开发工程师阅读。全书共9章。第1章介绍本书的内容组成、工具使用以及参考源码的下载方法。第2章介绍Netd及相关的背景知识。第3~5章介绍Wi-Fi基础知识,重点分析了wpa_supplicant的实现,以及Android平台中特有的Wi-Fi服务模块WifiService。第6~7章讲解了Wi-Fi联盟推出的两项重要技术Wi-FiSimpleConfiguration和Wi-FiP2P,以及它们在Android平台中的代码实现。第8章详细介绍了NFC基础知识,以及NFC在Android平台中的代码实现。第9章讲解了GPS原理及Android平台中的位置管理服务架构。

2016-06-03

Wi-Fi Simple Configuration Technical Specification Version 2.0.5

2016-05-29

interrupt code

interrupt code

2015-11-20

mini2440原理图

mini2440原理图

2015-11-08

script.rar

shell脚本练习.rar

2015-10-28

S3C2440

S3C2440-32位CMOS单片机

2015-10-22

arm-linux-gcc-4.4.3.tar.gz

arm-linux-gcc-4.4.3.tar.gz

2015-09-30

uboot-2015-10

u-boot-2015.10-rc1.tar.bz2

2015-09-30

sed awk讲解资料全集

想学好sed和awk吗, 被别人复杂的sed和awk神奇和高效惊叹了吗,想知道其中的原因吗, 这里我搜集了讲解sed和awk全面的资料,让你自如的完成想要的操作,字符串的操作没有你办不到

2015-06-11

精通UNIX Shell脚本编程 第二版 免费 包含脚本文件

精通UNIX Shell脚本编程 第二版 免费 真正的第二版,不拿第一版忽悠大家, 清晰 最好用的shell书籍,最全面的shell介绍

2015-06-11

vim实用技巧 免费

vim实用技巧 免费

2015-05-27

ultraedit配置

ultraedit配置

2015-03-13

无线WPS测试指导

无线WPS测试指导

2015-03-10

EAP状态机.pdf

描述 hostapd中eap实现的状态机转移过程和一些基本概念

2014-12-23

vim配置收集

自己整理的vim配置,将多个大神推荐的vim配置copy过来整理的

2014-12-15

最全的vim配置

收集了多家vim的配置,总结在了一起,有些功能没有开启需要时,在使用中自己打开以下就好,里面有好多可以现成使用的插件。

2014-12-15

firewall防火墙讲解

自己做了一个讲解防火墙墙的ppt,介绍了iptables和netfilter的关系,c代码的实现和规则发打包向内核的提交等

2014-12-02

防火墙的介绍与实现

自己写的一个介绍关于防火墙的ppt,里面讲讲解了iptables和netfilter的关系,语法以及c代码封装iptables规则的方法与过程。

2014-12-02

PPP通信讲解

自己写的一个关于ppp的讲解ppt,涉及ppp通信连接大多数过程,有一部分代码剖析

2014-12-02

MP3播放器 c实现

MP3播放器 c实现

2014-10-09

linuxC函数手册

linuxC函数手册

2014-09-09

xcap_1_0_4网络数据包修改与发送工具

xcap_1_0_4网络数据包修改与发送工具

2014-09-05

netmint一个好用的网络发包工具

一个好用的网络发包工具

2014-09-04

xcap一个好用的网络发包工具

xcap一个好用的网络发包工具

2014-09-04

80211r原理明细

80211r原理明细80211r原理明细80211r原理明细80211r原理明细80211r原理明细

2018-07-01

80211r的无线局域网漫游技术的研究与实现

80211r的无线局域网漫游技术的研究与实现80211r的无线局域网漫游技术的研究与实现80211r的无线局域网漫游技术的研究与实现80211r的无线局域网漫游技术的研究与实现

2018-07-01

嵌入式开发相关书籍

嵌入式开发相关书pdf 嵌入式开发相关书pdf 嵌入式开发相关书pdf

2018-06-03

TCP IP详解卷1:协议 英文版

TCP IP详解卷1:协议

2017-03-19

Linux内核精髓-精通Linux内核必会的75个绝技 完整版

这本书是我少数几个设置了分数限制的书,它是完整版,现在网上的大多数都是mini版本,知道这本书价值的人自然不会因为任何限制而阻碍求知的欲望,因为它物有所值。

2017-03-19

TCP IP详解卷1:协议 原书第2版 压缩二

TCP IP详解卷1:协议 原书第2版 压缩二TCP IP详解卷1:协议 原书第2版 压缩二TCP IP详解卷1:协议 原书第2版 压缩二TCP IP详解卷1:协议 原书第2版 压缩二

2017-03-19

TCP IP详解卷1:协议 原书第2版 压缩一

文件太大,分成两个部分压缩,都要下载下来才能解压

2017-03-19

Linux设备驱动开发详解:基于最新的Linux 4.0内核 高清完整.pdf版下载

Linux设备驱动开发详解:基于最新的Linux 4.0内核.pdf Linux设备驱动开发详解:基于最新的Linux 4.0内核.pdf Linux设备驱动开发详解:基于最新的Linux 4.0内核.pdf

2017-03-12

FIPS PUB 197-2001

FIPS PUB 197-2001是AES加密算法详细介绍,也是官方指定CCMP的加密算法

2016-10-04

windows-use-vim-ctags-and-git

怎么在windows环境下使用vim查看代码 ? 怎么在windows下使用git版本管理工具 ?在网上搜索会搜出个种各样的推荐,有人推荐直接下载一个windows下的vim安装包,或者有人推荐使用source insight,notpad++, sublime, ultraedit 或其他IDE工具等等,但是我尝试了使用这些工具查看代码以后,感觉都不习惯,后来才发现自己是个linux中毒患者,用Linux那一套才比较得心应手。但是有时候又需要使用到windows下面的一些应用,所以开始折腾怎么在windows下使用vim+ctags+git,下面是我整理的记录。 windows使用vim

2016-08-25

ctags可执行文件

想在windows使用ctags工具的同学可以直接下载下来,按照解压步骤里面的方法使用就可以了

2016-08-17

shell和vim

shell 和 vim的一些介绍,主要包括PPT和平常的一些东西

2016-07-11

空空如也

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

TA关注的人

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