自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

echoecho的博客

喜欢soft的hard学生

  • 博客(21)
  • 收藏
  • 关注

原创 使用tcpdump抓取vpp接口中的报文

一种使用rcpdump抓取vpp中接口报文的方法

2022-06-29 15:19:58 1901 1

原创 网桥转发LACP报文的方法(不用重新编译内核!)

网桥转发LACP报文的方法编译并替换内核中的bridge模块测试LACP报文能否被网桥转发参考资料在《Linux 网桥支持LACP 报文透传的解决方法》一文中提到LACP协议使用的MAC地址01:80:c2:00:00:02是IEEE 802.1D中定义的“MAC桥接过滤MAC组地址”,也就是说这些地址(01:80:c2:00:00:xx)是不会被网桥转发的。可以使用echo ${group_fwd_mask} > /sys/class/net/br0/bridge/group_fwd_

2021-05-18 09:08:27 1391

原创 python源码加密实现

本文参考如何保护你的 Python 代码对其想法进行实现。源码地址:spython@githubRAYENCRYrayencry使用AES算法对指定目录中的Python源码加密。内容背景安装使用说明修改Python源码(仅针对Python-2.7.15)ContributorReference背景由于Python为解释形语言,源码直接暴漏在生产环境中,为了防止Python源码泄露造成不必要安全问题,可以改造Python解释器用于执行加密后的python代码。安装1. 目录

2020-08-14 18:14:01 1003

原创 使用python的curses库实现的动态时钟

一、先决条件操作系统为linux发行版本;下载了python2/3;下载了figlet(apt/yum install figlet)。二、代码#!/usr/bin/python# coding=utf-8version = "0.0.1"import signalsignal.signal(signal.SIGINT, signal.SIG_IGN) # ctrl+cimport cursesimport timeimport datetimeimport osimpo

2020-08-10 18:19:29 417

翻译 让我们做一个简单的编译器 (15)

原文:Let’s Build A Simple Interpreter. Part 15.翻译:@echoechoin目录一、目标:二、改进Lexer类:1. 定义`Error code`和`Error`类2. 在`Lexer`定义行号和列号3. 行号和列号的更新4. 修改`Lexer.error`方法5. 使用枚举类重新定义TokenType6. 自动创建`RESERVED_KEYWORDS`字典7. 在Token类中添加`lineno`和`column`8. 改进`get_next_token `方

2020-07-24 14:43:26 201

翻译 让我们做一个简单的解释器(四)

原文:Let’s Build A Simple Interpreter. Part 4.你是在被动地(passively)学习文章中的内容,还是积极地(actively)跟着练习呢?我真的希望你是后者~还记得孔夫子说的话吗?不闻不若闻之,闻之不若见之,见之不若知之,知之不若行之。译:(在学习中)听说比不听好,见到比听说好,知晓比见到好,实践比知晓好,学习的最终就是实践,实践了,就明白了。“I hear and I forget.”“I see and I remember.”

2020-07-20 17:54:09 336

原创 php验证码生成函数

使用gd2扩展(在php.ini中将;extension=gd2的注释符号;删除)生成验证码,可能失败的原因是某些字体不支持数字和字母。默认的字体文件路径是:C:\\Windows\\Fonts;当不设置保存路径的时候,会将验证码图片以文件形式发送到前端。下面是代码:function generateIdentifyCode($n_CharNum,$n_Size,$s_SavePath=null...

2020-03-06 21:03:24 203

原创 php简单网盘Demo

将下述代码放到Web服务器并修改s_fileRoot参数位您需要展示的目录即可。代码如下:<?php$s_fileRoot = './'; // 需要显示的文件路径chdir($s_fileRoot);$r_file = null;$a_fileInfo = [];if(isset($_GET['filename'])){ $s_fileRoot = $_GET['fi...

2020-03-06 16:49:18 678 1

原创 c/c++ 使用c/c++连接到mysql

一、mysql c/c++库1. 安装mysql c/c++库:sudo apt install libmysqlclient-dev2. 查看安装路径:$ mysql_config --cflags --libs-I/usr/include/mysql -L/usr/lib/x86_64-linux-gnu -lmysqlclient -lpthread -lz -lm -lrt ...

2019-09-21 11:09:24 361

原创 自制并不炫酷的HTML静态主页

效果如下:网页地址:https://echoechoin.github.io/也可以手动添加更多的网站在主页上。代码<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/1999/REC-html401-19991224/strict.dtd"><html><hea...

2019-08-30 09:05:22 2417

原创 【s3c2440】第五课:定时器中断

s3c2440定时器简介OVERVIEW ~         ~~~~~~~~        The S3C2440A has five 16-bit timers. Timer 0, 1, 2, and 3 h...

2019-08-27 15:03:48 391

原创 【s3c2440】第四课:外部中断

外部中断初始化流程外部中断的流程图如下:此处不考虑中断优先级,涉及的寄存器如下:寄存器作用CPSR设置为usr模式,开启中断总开关GPxCON配置寄存器为外部中断模式EXTINT设置外部中断触发方式EXIMASK外部中断屏蔽寄存器EXITPEND由于EINT4-7、EINT8-23使用的是一个中断源,此寄存器分辨到底是哪一个IO产生的中...

2019-08-26 22:12:00 1810

原创 【s3c2440】第三课:代码重定位

什么是重定位简单来说就是把程序从内存的一个位置复制到另一个位置。重定位的重要性1、若s3c2440使用Nand Flash启动,则CPU会将Nand Flash的前4k拷贝到s3c2440 soc内部的SRAM。如果程序没有重定位代码,则只能运行Nand flash前4k的程序。2、若s3c2440使用Nor Flash启动,则CPU无法修改Nor Flash内存中的数据。如果程序没有重定...

2019-08-25 10:28:07 278

原创 【s3c2440】第二课:arm汇编指令

s3c2440 arm汇编指令以及使用示例首先需要了解s3c2440CPU内部的寄存器有哪些:寄存器/register作用R0函数传入参数1R1函数传入参数2R2函数传入参数3R3函数传入参数4R4存放函数的局部变量R5存放函数的局部变量R6存放函数的局部变量R7存放函数的局部变量R8存放函数的局部变量...

2019-08-19 10:16:39 483

原创 【s3c2440】第一课:程序烧写方法

此系列笔记以韦东山老师的开发板为主。本节会获得的知识: 使用openJTAG烧写的方法 使用DNW和uboot烧写的方法 整个操作系统的烧写方法1、安装USB驱动和openJTAG驱动 在win10上安装openJTAG需要禁用驱动程序强制签名,详情在参考手册中。这里有简单的步骤: (1)禁用驱动程序强制签名: 设置->更新和...

2019-08-11 23:08:03 988

原创 【C语言】使用递归解决八皇后问题

1、什么是八皇后问题 八皇后问题,是一个古老而著名的问题,是回溯算法的典型案例。该问题是国际西洋棋棋手马克斯·贝瑟尔于1848年提出:在8×8格的国际象棋上摆放八个皇后,使其不能互相攻击,即任意两个皇后都不能处于同一行、同一列或同一斜线上,问有多少种摆法。 高斯认为有76种方案。1854年在柏林的象棋杂志上不同的作者发表了40种不同的解,后来有人用图论的方法解出92种结果。计算机...

2019-07-24 01:03:12 1000

原创 【C语言】栈的实现

1、栈的定义 栈(stack)又名堆栈,它是一种运算受限的线性表。限定仅在表尾进行插入和删除操作的线性表。这一端被称为栈顶,相对地,把另一端称为栈底。向一个栈插入新元素又称作进栈、入栈或压栈,它是把新元素放到栈顶元素的上面,使之成为新的栈顶元素;从一个栈删除元素又称作出栈或退栈,它是把栈顶元素删除掉,使其相邻的元素成为新的栈顶元素。 下图为栈的基本结构:...

2019-07-21 20:37:13 226

原创 【C语言】约瑟夫环/约瑟夫问题的实现

1、什么是约瑟夫环/约瑟夫问题 约瑟夫环(约瑟夫问题)是一个数学的应用问题:已知n个人(以编号1,2,3...n分别表示)围坐在一张圆桌周围。从编号为k的人开始报数,数到m的那个人出列;他的下一个人又从1开始报数,数到m的那个人又出列;依此规律重复下去,直到圆桌周围的人全部出列。通常解决这类问题时我们把编号从0~n-1,最后结果+1即为原问题的解。2、约瑟夫环、约瑟夫问题的实...

2019-07-20 22:50:20 629

原创 【C语言】单向链表的简单实现

1、实现的主要函数:/* 初始化链表: 参数:int _value(第一个节点的值) 返回值:list(链表的头节点)*/list listInit(int _value);/* 遍历链表 参数:list _list(链表名字) 返回值:无*/void listPrintAll(list _list);/* 添加节点到结尾 参数:list *_listP...

2019-07-01 13:08:25 313

原创 【C语言】char*str和char str[n]的区别

关于char str[]和char*str的区别,在这里写了一些验证性代码:#include <stdio.h>#include <string.h>int main(void){ printf("----------第一种char-----------\n"); char *str1 = "0123"; //str1[1] = '1'...

2019-06-28 22:18:53 3246

原创 bilibili【考研英语词汇】

1、abandon vt.离弃,遗弃,抛弃;放弃。放纵,放弃a-否定(前缀)band-布带on布带不在自己身上,放纵,放弃band n.条,带;乐队;波段;v.绑扎一群人绑在一起:乐队,一群bandagen绷带v用绷带扎缚-age永恒的(后缀)band- ~ban-(前缀)banner横幅,旗帜(商店的旗帜)在小带子上写的字:slogan...

2019-02-27 10:07:28 510958 25

空空如也

空空如也

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

TA关注的人

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