自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 资源 (3)
  • 收藏
  • 关注

原创 linux2.6 __copy_user

这个函数在不同的架构下有着不同的实现,因为它主要是用嵌入汇编写的,我将其简化后得到下面的代码。#define __copy_user(to,from,size) int __d0, __d1, __d2; // 0为size、1为to、2为from __asm__ __volatile__( " cmp $7,%0\n" " jbe 1f\n" // size <...

2019-12-30 13:56:00 216 1

原创 Snort源码阅读(1)-配置环境

环境使用Ubuntu 16.04 IDE是qtcreator安装依赖安装libpcap用于包获取,安装前需要安装flex,bisonsudo apt-get install -y flexsudo apt-get install -y bison然后下载libpcap源码 http://www.tcpdump.org/release/libpcap-1.8.1.tar.g...

2018-06-06 20:36:53 480

原创 hadoop、spark配置使用所遇到的问题

1 配置Hadoop1.1 节点、主机ip信息 hostname ip地址 备注 ss-ubuntu 192.168.1.101 yhc-VirtualBox 192.168.1.102 node1 192.168.1.103 datanode node2 192.168.1.104 datanode...

2018-06-06 10:18:08 4804

原创 阅读maltrail源码所遇到问题

maltrail结构整个系统分为sensor.py和server.py,首先分析sensor.py 在setting.py中定义了一些常量,包括版本号,项目名称,服务端端口号,trails_file等python 语法问题函数参数传入时,list变量前面增加*,表示解包,每个list的元素作为参数传入函数中。enumerate 对象,能将序列变成[(0,x1),(1,x2)…...

2018-03-23 16:55:28 651

原创 python爬虫遇到的问题

最重要的是错误查看查看端口状态命令:netstat -apn 用于查看mysql的端口是否开启的是3306 发现mysql的连接状态如图 可以看到本地端口是127.0.0.1:3306 需要修改mysql的bind-address:找到/etc/mysql/mysql.conf.d/mysqld.cnf这个文件中,有一行是 需要改为0.0.0.0 即接收任何ip的连接 并且...

2018-03-05 13:01:32 463

原创 《x86汇编语言-从实模式到保护模式》笔记

通过硬盘控制器端口读扇区数据使用LBA逻辑块编址中的LBA28,步骤如下 1. 设置读取的扇区数量,这个数值要写入0x1f2端口,这是一个8位端口mov dx, 0x1f2mov al, 0x01 ;表面写入一个扇区out dx, al ;in或者out只能用ax,dx,立即数每读一个扇区这个值都将减1 2. 设置起始LBA扇区号 扇区都是连续的所以只需要提供开头扇区号,一

2018-02-25 22:41:52 2275

原创 Leetcode448 Find All Numbers Disappeared in an Array

Given an array of integers where 1 ≤ a[i] ≤ n (n = size of array), some elements appear twice and others appear once.Find all the elements of [1, n] inclusive that do not appear in this array.

2017-04-11 11:16:42 195

原创 使用python编写udp协议的ping程序

服务器端import randomfrom socket import *serverSocket = socket(AF_INET, SOCK_DGRAM)#建立udp协议的socket连接serverSocket.bind(('', 12000))while True: rand = random.randint(0, 10)#生成随机数,模拟udp环境下的丢包 m

2017-03-15 14:16:37 5620

原创 使用python编写web服务器

from socket import *import osserverSocket = socket(AF_INET, SOCK_STREAM)#建立TCP socketserverPort = 18000#端口号serverSocket.bind(('', serverPort))#服务器socket绑定固定端口serverSocket.listen(1);#服务器socket一次连接

2017-03-15 14:04:11 887

原创 《C primer plus》c语言位操作小函数

首先是将一个int型转为字符串的功能函数,其中函数内的size声明位static类型这样变量储存在静态内存中,不用每次使用这个函数都要建立一个size变量,size中储存了一个int类型的位大小(一个字节是8位,sizeof(int)得到系统内的int字节大小),通过(01 & n) 获得n中最后一位的数字,加上'0'则得到最后一位数字的char类型,赋值给ps[i],在ps[size]中储存'\

2016-08-24 23:12:39 524

原创 阅读《C primer plus》 理解C中二维数组、数组指针

在C语言中,数组操作符[ ]相当于指针取值,例如:int a[2] = {1,2}; 则int b = a[1]相当于int b = *(a+1);这里的1代表一个int类型的长度。同样可以int * ptr = a; 使用ptr[1]或*(p+1)都能访问到a[1]中的数据并且能够修改,在使用中指向数组的指针和数组名都是相同的,但是它们的初始化方法不同,数组在声明时,表示了需要的大小,比如int

2016-08-12 21:31:29 323

原创 《C程序设计语言》读书笔记及C语言知识备忘

1.取余要求两边都是正数,并且余数正负号与被除数相同。2.int getchar(void)     从stdio流中读字符用法:getchar有一个int型的返回值.当程序调用getchar时.程序就等着用户按键.用户输入的字符被存放在键盘缓冲区中.直到用户按回车为止(回车字符也放在缓冲区中).3.C运算符优先级()     []    ->  .  ++(后缀自增)

2016-05-11 16:40:49 395

原创 《深入理解计算机系统》读书笔记

网络编程IP地址是一个32为无符号整数,IP地址存放在IP地址结构体中struct in_addr{ unsigned int s_addr; //32位ip地址,使用大端字节顺序 }; TCP/IP规定统一的网络字节顺序(大端字节顺序),因为主机字节顺序(host byte order)是小端法,所以必须有函数用于转换。htonl函数和ntohl是32位

2016-04-18 11:37:23 370

原创 《head first c》学习笔记及C语言有用的函数

动态库及静态库动态库是在运行时链接程序,静态库一旦链接,就不能改变。#include gcc -fPIC 令目标代码位置无关,例如: gcc -c -fPIC test.c -o test.o(因为头文件在标准目录中,所以不需要加上-I选项)gcc -i 会链接标准目录( 例如/usr/lib)下的文件gcc -I  表示头文件在下gcc -L 在标准lib目录下添加目录

2016-04-15 10:55:24 940

原创 使用嵌入汇编调用open系统调用

邵帅 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000我使用的系统api是open函数,这个函数一共有open系统调用一共有三个输入参数,第一个参数pathname是字符串,表示需要打开的文件的完整路径,如果只给出了文件名,则系统调用会从当前运行程序所在的目录内查找该文件。第二个参数flags用于指出文件的访问模

2016-03-20 00:22:15 1350

原创 从start_kernel到init

邵帅 原创作品转载请注明出处  《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000       使用实验楼,用gdb进行跟踪调试内核,按照老师给的命令,首先我把断点打在start_kernel()。       在这里BootLoader开始进行系统初始化,然后就到start_kernel()这里,在这

2016-03-13 22:28:59 382

原创 TabLayout+Fragment+ViewPager联合使用

首先是activity_main.xml文件,定义主要的界面,因为我用了FloatingActionBar,所以最外层用的是CoordinatorLayout,在这里面嵌入一个LinearLayout,在LinearLayout中放入TabLayout和ViewPager。在TabLayout中app:tabTextColor 设定未点击时,tab中文字的颜色,app:tabSelectedTex

2016-03-09 18:11:04 4185

原创 通过一个实例简单了解perl

这是一个用户管理的小软件。需要输入正确的密码才能进入系统,密码通过.secret文件保存,将用户输入错误的密码通过dbm文件保存到本地,并且通过mail通知管理员#!/usr/bin/perl-w#-w表示-w转换器,要求perl对潜在的危险构建产生附加报警信息@words = ("hello","your","ss");#@开头表示数组@another_words = qw(this is

2016-03-09 10:33:20 954

原创 Linux 进程切换

邵帅 原创作品 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000 首先是mypcb.h头文件,这个文件定义了进程控制块#define MAX_TASK_NUM 4#define KERNEL_STACK_SIZE 1024*8struct Thread//定义线程结构体{ unsigned lon

2016-03-06 12:50:44 384

转载 常用嵌入式汇编限定符

转载文章 http://blog.chinaunix.net/uid-26941022-id-3202417.html      分类             限定符                     描述   通用寄存器       “a”               将输入变量放入eax

2016-02-29 22:19:35 793

原创 Qt动态库加载

首先创建动态库,在Ubuntu下生成了名字为lib(项目名).so lib(项目名).so.1 lib(项目名).so.1.0 lib(项目名).so.1.0.0的动态库文件,在使用的项目的pro文件中

2016-02-29 13:10:41 1207

原创 通过一个c语言小程序了解linux中汇编工作

《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000 课程这是一个简单的c语言程序函数g的功能是返回参数x加10后的值,函数f返回函数加1后的值,main函数返回函数f参数11时加1后的值。这是汇编后的代码,从图中可以看到第一列的f: g: main:分别代表各自名字的函数名,在他们之后的是函数实现的代码

2016-02-28 22:20:31 537

原创 Qt国际化

首先在.pro文件中加入TRANSLATIONS = chinese.ts 这里的chinese.ts就是翻译用的ts文件。进入QtCreator后工具→外部→linguist→更新翻译(lupdate),然后打开项目所在目录,找到chinese.ts文件,在ubuntu下直接双击打开进入linguist软件,进行翻译。最好先使用英文来作为描述文本,英文编码比较方便, 比如

2016-02-26 13:15:57 467

原创 常用的排序算法

冒泡排序 时间是o(n2)首先从序号0开始直到数组长度减1,查找最大值,并两两交换,将最大值交换到最后,import java.util.*;public class BubbleSort { public int[] bubbleSort(int[] A, int n) { // write code here int t = 0;

2016-02-21 13:19:15 259

原创 设置的菜单项不在标题栏显示

写的选项菜单不在标题栏上显示,标题栏右上角空白,溢出菜单也没有,只有按手机的菜单键才能从底部出来.android studio提示showAsAction with the appcompat library with xmlns:app="http://schemas.android.com/apk/res-auto"所以加了一个xmlns:yourapp="http://schem

2015-11-25 21:30:39 423

转载 setOnPageChangeListener 过时了

今天使用ViewPager发现setOnPageChangeListener的方法居然过期了,而且AS编译不通过了,最后查了一下原来把set换成add了,setOnPageChangeListener变为 addOnPageChangeListener了

2015-11-24 10:32:24 312

原创 Python小函数

返回斐波那契数列列表def fibs(num): result = [0,1] for i in range(num-2): result.append(result[-2] + result[-1]) return result获取文件尾缀#extension.py def get_ext(frame): dot = fname.rfind(

2015-11-19 21:41:29 271

原创 一个优化的查找姓名首字母相同的方法

girls = ['alice', 'bernic', 'clarice']boys = ['chris', 'arnold', 'bob']letterGirls = {}for girl in girls: letterGirls.setdefault(girl[0], []).append(girl)print [b+'+'+g for b in boys for g i

2015-11-19 21:16:17 592

原创 解决python文件转换为exe时乱码问题

在Windows中一般是gbk编码,所以在py文件开头加上#encoding:gbk这样就可以防止乱码同样可改为#encoding:utf-8来用于utf-8编程环境下的乱码问题

2015-11-18 19:33:07 2615

原创 python正则表达式

运算符          描述字符串xy?             x xyx|y               x  yx*               ' ' x xx xxx xxxxx+               x xx xxx xxxx xxxxx、例子import redef is_done(s): return re.match('done|q

2015-11-18 19:29:13 731

原创 将python脚本变成exe文件

网上都是用py2exe,但我发现py2exe只更新到2008年,关键是我的电脑用不了,所以我用的是cx_freeze 这个东西一直在更新,支持很好。 官网是http://sourceforge.net/projects/cx-freeze/files/下载python2.7的版本,运行安装包后,自动装到系统已安装的位置,然后打开C:\Python27\Scripts(我的Python装在这个路

2015-11-18 19:17:26 1007

计算机网络 运输层讲解ppt

计算机网络是指将地理位置不同的具有独立功能的多台计算机及其外部设备,通过通信线路连接起来,在网络操作系统,网络管理软件及网络通信协议的管理和协调下,实现资源共享和信息传递的计算机系统。

2020-03-09

Reactor.pdf

这个是c++多线程开发中的Reactor模式技术技术讲解,Reactor模式是网络编程中极为重要,许多网络库都以它为基础,适合初学网络编程的同学阅读。

2020-03-09

Effective C++ 中文版第三版.pdf

Effective C++ 中文版第三版比较清晰的版本

2015-08-19

空空如也

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

TA关注的人

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