清欢's Blog

一个杂乱的笔记本


  • 首页

  • AlphaZ

  • 关于

  • 标签

  • 归档

Github Pull Request的提出与采纳

发表于 2020-01-24 更新于 2020-02-15 分类于 git

这一文来讲解一下Github Pull Request(以下简称PR)的使用方法: 作为PR的提出者,如何对某个仓库提交PR,如何根据仓库管理者对所提交PR的反馈对PR进行完善 作为PR的接收者,如何对PR进行测试,对提出者进行反馈以及合并PR到仓库中。 这里我使用两个GitHub账户来进行说明 ...

阅读全文 »

Unix套接字接口

发表于 2019-11-20 更新于 2020-02-15 分类于 Linux

简介套接字是操作系统中用于网络通信的重要结构,它是建立在网络体系结构的传输层,用于主机之间数据的发送和接收,像web中使用的http协议便是建立在socket之上的。这一节主要讨论网络套接字。 套接字接口时一组函数,它们和Unix I/O结合起来,用于创建网络应用。许多操作系统都实现了自己的套接字接 ...

阅读全文 »

健壮的I/O(RIO)

发表于 2019-10-19 更新于 2020-02-15

在上篇Unix系统级I/O中,我们介绍了有关在Unix环境下读取和写入文件的函数read和write,也提到了标准I/O在进行网络I/O时的局限性。但是在某些地方,直接使用read和write往往会出现不足值,比如在复杂的网络环境中读取socket。如果想让我们的程序更加的可靠,就需要反复的调用re ...

阅读全文 »

Unix系统级I/O

发表于 2019-10-18 更新于 2020-02-15 分类于 Linux

在Unix系统中,一且皆为文件。一个Linux文件就是一个字符序列,并且所有的I/O设备都被模型化成了文件。而所有的输入输出都被当作对对应文件的读和写。Linux提供了一组简单、低级的接口,使得所有的输入输出都可以用一种简单通用的方式来执行。 Linux文件的分类每一个文件都有一个类型(type)来 ...

阅读全文 »

make工具简介

发表于 2019-10-14 更新于 2020-02-15 分类于 Linux

在Linux C/C++的开发过程中,当源代码文件较少时,我们可以手动使用gcc或g++进行编译链接,但是当源代码文件较多且依赖变得复杂时,我们就需要一种简单好用的工具来帮助我们管理。于是,make应运而生。 make主要用来管理C/C++项目,通过Makefile书写的规则来对项目中的源代码文件进 ...

阅读全文 »

Python正则表达式

发表于 2019-10-09 更新于 2020-02-15 分类于 正则表达式

python正则表达式的用途不过多赘述 python正则表达式的实现主要是通过python的re库,re库是python的标准库,所以无须安装 1.正则表达式的常用操作符 操作符 说明 实例 . 表示任何单个字符 [ ] 字符集,对单个字符给出取值范围 [abc]表示a、b、c,[ ...

阅读全文 »

正则表达式

发表于 2019-10-08 更新于 2020-02-15 分类于 正则表达式

本文转载自 https://github.com/ziishaned/learn-regex 侵删 什么是正则表达式? 正则表达式是一组由字母和符号组成的特殊文本, 它可以用来从文本中找出满足你想要的格式的句子. 一个正则表达式是在一个主体字符串中从左到右匹配字符串时的一种样式.“Regular ...

阅读全文 »

缓冲区溢出(栈溢出)

发表于 2019-09-04 更新于 2020-02-15

前言在现在的网络攻击中,缓冲区溢出方式的攻击占据了很大一部分,缓冲区溢出是一种非常普遍的漏洞,但同时,它也是非常危险的一种漏洞,轻则导致系统宕机,重则可导致攻击者获取系统权限,进而盗取数据,为所欲为。 其实缓冲区攻击说来也简单,请看下面一段代码: void main(int argc, char * ...

阅读全文 »

Linux系统调用表(x86_64)

发表于 2019-09-02 更新于 2020-02-15 分类于 Linux

内核版本 Linux 4.7 Note:64位系统中,不再使用int 0x80来进行系统调用,取而代之的是syscall指令 %rax System call %rdi %rsi %rdx %r10 %r8 %r9 0 sys_read unsigned int fd char *buf ...

阅读全文 »

x86_64 Linux 运行时栈的字节对齐

发表于 2019-08-11 更新于 2020-02-15 分类于 汇编

前言C语言的过程调用机制(即函数之间的调用)的一个关键特性(起始大多数编程语言也是如此)都是使用了栈数据结构提供的后进先出的内存管理原则。每一个函数的栈空间被称为栈帧,一个栈帧上包含了保存的寄存器、分配给局部变量的空间以及传递给要调用函数的参数等等。一个基本的栈结构如下图所示: 但是,有一点需 ...

阅读全文 »
12
清欢

清欢

一个杂乱的笔记本
20 日志
9 分类
12 标签
RSS
GitHub 知乎
© 2020 清欢
由 Hexo 强力驱动 v3.9.0
|
主题 – NexT.Mist v7.3.0