- 博客(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
250
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
524
原创 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
4876
原创 阅读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
729
原创 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
500
原创 《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
2337
原创 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
221
原创 使用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
5712
原创 使用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
930
原创 《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
558
原创 阅读《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
365
原创 《C程序设计语言》读书笔记及C语言知识备忘
1.取余要求两边都是正数,并且余数正负号与被除数相同。2.int getchar(void) 从stdio流中读字符用法:getchar有一个int型的返回值.当程序调用getchar时.程序就等着用户按键.用户输入的字符被存放在键盘缓冲区中.直到用户按回车为止(回车字符也放在缓冲区中).3.C运算符优先级() [] -> . ++(后缀自增)
2016-05-11 16:40:49
423
原创 《深入理解计算机系统》读书笔记
网络编程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
415
原创 《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
1003
原创 使用嵌入汇编调用open系统调用
邵帅 《Linux内核分析》MOOC课程http://mooc.study.163.com/course/USTC-1000029000我使用的系统api是open函数,这个函数一共有open系统调用一共有三个输入参数,第一个参数pathname是字符串,表示需要打开的文件的完整路径,如果只给出了文件名,则系统调用会从当前运行程序所在的目录内查找该文件。第二个参数flags用于指出文件的访问模
2016-03-20 00:22:15
1416
原创 从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
414
原创 TabLayout+Fragment+ViewPager联合使用
首先是activity_main.xml文件,定义主要的界面,因为我用了FloatingActionBar,所以最外层用的是CoordinatorLayout,在这里面嵌入一个LinearLayout,在LinearLayout中放入TabLayout和ViewPager。在TabLayout中app:tabTextColor 设定未点击时,tab中文字的颜色,app:tabSelectedTex
2016-03-09 18:11:04
4217
原创 通过一个实例简单了解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
997
原创 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
418
转载 常用嵌入式汇编限定符
转载文章 http://blog.chinaunix.net/uid-26941022-id-3202417.html 分类 限定符 描述 通用寄存器 “a” 将输入变量放入eax
2016-02-29 22:19:35
831
原创 Qt动态库加载
首先创建动态库,在Ubuntu下生成了名字为lib(项目名).so lib(项目名).so.1 lib(项目名).so.1.0 lib(项目名).so.1.0.0的动态库文件,在使用的项目的pro文件中
2016-02-29 13:10:41
1261
原创 通过一个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
584
原创 Qt国际化
首先在.pro文件中加入TRANSLATIONS = chinese.ts 这里的chinese.ts就是翻译用的ts文件。进入QtCreator后工具→外部→linguist→更新翻译(lupdate),然后打开项目所在目录,找到chinese.ts文件,在ubuntu下直接双击打开进入linguist软件,进行翻译。最好先使用英文来作为描述文本,英文编码比较方便, 比如
2016-02-26 13:15:57
544
原创 常用的排序算法
冒泡排序 时间是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
289
原创 设置的菜单项不在标题栏显示
写的选项菜单不在标题栏上显示,标题栏右上角空白,溢出菜单也没有,只有按手机的菜单键才能从底部出来.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
458
转载 setOnPageChangeListener 过时了
今天使用ViewPager发现setOnPageChangeListener的方法居然过期了,而且AS编译不通过了,最后查了一下原来把set换成add了,setOnPageChangeListener变为 addOnPageChangeListener了
2015-11-24 10:32:24
341
原创 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
305
原创 一个优化的查找姓名首字母相同的方法
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
637
原创 解决python文件转换为exe时乱码问题
在Windows中一般是gbk编码,所以在py文件开头加上#encoding:gbk这样就可以防止乱码同样可改为#encoding:utf-8来用于utf-8编程环境下的乱码问题
2015-11-18 19:33:07
2684
原创 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
755
原创 将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
1055
计算机网络 运输层讲解ppt
2020-03-09
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人