自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(14)
  • 收藏
  • 关注

原创 8086CPU寄存器

欢迎访问我的个人博客https://vincillau.github.io/文章目录欢迎访问我的个人博客https://vincillau.github.io/8086CPU寄存器通用寄存器段寄存器CS和IPDS和[address]SS和SP寄存器未完待续参考8086CPU寄存器8086CPU共有14个寄存器,分别是AX、BX、CX、DX、SI、DI、SP、BP、IP、CS、SS、DS、ES、PSW。所有的寄存器都是16位的。通用寄存器AX、BX、CX、DX这4个寄存器通常用来存放一般性数据.

2022-01-15 23:33:33 5462

原创 Golang学习笔记(一)

欢迎访问我的个人博客博客文章目录欢迎访问我的个人博客Golang学习笔记(一)一、Golang简介二、Golang的基本语法1.名称2.作用域3.声明4.变量(1) 短变量声明(2) 指针(3) new函数(4) 变量的生命周期4.赋值(1) 多重赋值5.类型声明三、Golang中的基本数据类型1.整数2.浮点数3.复数4.布尔值5.字符串(1) 字符串字面量(2) 字符串和字节slice6.常量(1) 常量生成器iota参考Golang学习笔记(一)一、Golang简介Go语言(又称Golang

2021-11-06 20:21:14 231

原创 LevelDB Arena源码分析

文章目录欢迎访问我的个人博客LevelDB Arena源码分析什么是ArenaArena的实现思路Arena的实现Allocate的实现AllocateAligned的实现总结参考欢迎访问我的个人博客博客LevelDB Arena源码分析什么是ArenaArena是LevelDB中实现的一个简易的内存池。因为LevelDB是一个key-value数据库,所以当为较小的key或value分配内存时可能会引起内存碎片以及性能问题(频繁调用new和delete)。Arena就是为了解决这些问题的。Are

2021-10-23 10:42:39 224

原创 Python的几个知识点

Python的几个知识点最近博主学到了几个Python中比较重要的几个知识点,写篇博客记录一下。==和is的区别虽然之前大概知道==和is的区别,但是一直感觉模模糊糊,今天写代码的时候恰巧遇到了这个问题,就去查了一些资料,明确了一下。==运算符用与判断两个变量所引用的对象的值是否相等,is则是判断两个变量引用的是否是同一个对象。假设v1、v2是两个引用可变对象的变量,如果v2是由v1浅拷贝得到的(或者是赋值得到的),那么v1和v2引用的是同一个可变对象,所以v1 == v2和v1 is v2都返回T

2021-10-21 13:20:59 96

原创 Python迭代器实现

文章目录欢迎访问我的个人博客引言`__iter__`和`__next__`实现可迭代的斐波那契数列类参考欢迎访问我的个人博客博客引言在Python编程中,我们经常使用for-in语句对容器进行迭代。容器类(比如列表、元组等)之所以可以被for-in语句迭代,是因为这些容器类实现了__iter__魔术方法。这个方法返回一个迭代器对象。迭代器对象实现了__next__魔术方法,这个方法可以移动迭代器和获取迭代器指向的值。如果我们想要实现支持迭代的对象,只需要实现__iter__方法以及__iter__返

2021-09-16 19:18:12 433

原创 Python字符串格式化

文章目录欢迎访问我的个人博客引言%运算符字符串format方法格式化字符串字面值模板字符串参考欢迎访问我的个人博客博客引言字符串格式化是我们在使用Python中经常用到的功能。Python为我们提供了四种格式化字符串的方法,分别是%运算符、字符串format方法、格式化字符串字面值以及模板字符串。%运算符%运算符提供了一种printf风格的字符串格式化,它的用法跟C语言中的printf十分相似。先来看一个例子:s = "我叫%s, 今年%d岁。" % ("小明", 18) # 我叫小明, 今年

2021-09-01 17:56:16 4889

原创 浅谈Unix域套接字

文章目录欢迎访问我的个人博客引言简介Unix 域套接字地址结构创建 Unix 域套接字绑定 Unix 域套接字Unix 域中的流 socketUnix 域中的数据报 socketUnix 域套接字的权限使用 socketpair 创建互联的 socket 对使用 Unix 域套接字传递描述符参考资料欢迎访问我的个人博客博客引言在 Linux 中有许多进行 进程间通信 的方法。今天博主向大家介绍一种常用的进程间通信的方法 ——Unix 域套接字。简介Unix 域套接字 是一种在本机的进程间进行通信

2021-08-31 14:18:34 1043

原创 C++多线程编程(二):使用互斥锁

C++多线程编程(二):使用互斥锁上回书说到,我们可以用C++11中的thread类来创建和管理线程。在多线程编程中,我们常常遇到对线程间共享数据访问的各种线程安全问题。在这篇博文中我将向大家介绍如何利用C++11提供的<mutex>头文件提供的相关工具来保护线程间共享数据。竞争条件首先来看一段代码:#include <iostream>#include <thread>using namespace std;int n = 0;void func(

2021-08-14 10:41:08 247

原创 GCC编译器常用优化参数

GCC编译器常用优化参数-O0: 不进行优化(默认选项)。-O1、-O2、-O3: 随着数字变大,代码的优化程度逐渐提高。-Os:优化尺寸。-Ofast:启用所有-O3优化,无视严格的标准合规性。-Og:在 -O1 的基础上,去掉了影响调试的优化。-O:等价于-O1。如果使用多个 -O 选项,以最后一个选项为准。参考GCC 优化级别3.11 Options That Control Optimization...

2021-08-11 17:08:36 972

原创 C++多线程编程(一):使用thread类

C++多线程编程(一):使用thread类千呼万唤始出来!在C++11这一核弹级更新中加入了对多线程编程的支持,从此程序猿们就可以在不借助Boost等第三方库(或者自己造轮子)情况下方便地编写跨平台的多线程程序。我将在《C++多线程编程》这一系列博客中介绍C++11中多线程编程的相关知识。让我们先从thread类开始。thread类的功能thread类是C++中表示执行线程的类,位于头文件<thread>中。我们创建一个thread对象就会立即执行一个对应的线程。通过thread类的成员函

2021-08-10 19:16:02 2462 1

原创 Linux命令学习之lsof

Linux命令学习之lsof简介lsof是一个用于列出进程打开的文件的命令。由于在Linux系统上“一切皆文件”,lsof不仅可以获取进程打开的普通文件的列表,还可以获取进程打开的目录、块特殊文件、字符特殊文件、套接字等各种信息。lsof的安装# 在ArchLinux上通过pacman安装。sudo pacman -S lsoflsof输出的信息我们打开nano文本编辑器,然后执行lsof -c nano,输出如下:\COMMAND PID USER FD TYPE DEVI

2021-08-10 16:05:01 155

原创 C语言宏函数重载

C语言宏函数重载今天在一篇博客中学到了C语言宏函数重载的方法,在此记录一下:#include <stdio.h>#define SUM1(A) (A)#define SUM2(A, B) ((A) + (B))#define SUM3(A, B, C) ((A) + (B) + (C))#define GET_MACRO(_1, _2, _3, NAME, ...) NAME#define SUM(...) \ G

2021-08-10 16:04:03 781 1

原创 daemon_init的实现

文章目录引子普通进程转换成守护进程的步骤函数原型实现参考文献欢迎访问我的个人博客引子守护进程(Daemon)是一种长期执行特定任务的进程,在编写某些程序(例如Web服务器)时经常使用到守护进程。在Linux中,需要根据一些约定将普通进程转换为守护进程。每次我们想要使用守护进程时都要进行繁琐的转换,很不方便。所以博主就实现了一个名为daemon_init的函数,把这些转换步骤都“包装”起来。当我们想要将一个普通进程转换为守护进程时,只需要调用这个函数就行了。普通进程转换成守护进程的步骤执行fork(

2021-06-06 16:13:56 368

原创 getopt、getopt_long和getopt_long_only的用法

引子前段时间博主曾写过一个Linux下的小项目叫myls,也就是实现了ls的基本功能。myls的命令行参数解析是由博主自己编码完成的,这可把博主给坑惨了!博主不久前查资料的时候看到了getopt、getopt_long和getopt_long_only这三个函数,发现这三个函数堪称命令行参数解析的“神器”!早知道有这样的工具,博主也不至于被命令行参数解析所困扰了。这么好的东西当然要分享给大家啦!所以博主写了这篇博客,也欢迎大佬指教!用途getopt、getopt_long和getopt_long_on

2021-06-01 23:17:52 636 1

空空如也

空空如也

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

TA关注的人

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