-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.html
269 lines (225 loc) · 31.2 KB
/
index.html
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
<!DOCTYPE html><html lang="zh-CN" data-theme="light"><head><meta charset="UTF-8"><meta http-equiv="X-UA-Compatible" content="IE=edge"><meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no"><title>Spike的个人博客</title><meta name="author" content="Spike"><meta name="copyright" content="Spike"><meta name="format-detection" content="telephone=no"><meta name="theme-color" content="#ffffff"><meta property="og:type" content="website">
<meta property="og:title" content="Spike的个人博客">
<meta property="og:url" content="http://example.com/index.html">
<meta property="og:site_name" content="Spike的个人博客">
<meta property="og:locale" content="zh_CN">
<meta property="og:image" content="http://example.com/img/20220215145509.jpg">
<meta property="article:author" content="Spike">
<meta name="twitter:card" content="summary">
<meta name="twitter:image" content="http://example.com/img/20220215145509.jpg"><link rel="shortcut icon" href="/img/1165725505.jpg"><link rel="canonical" href="http://example.com/"><link rel="preconnect" href="//cdn.jsdelivr.net"/><link rel="preconnect" href="//busuanzi.ibruce.info"/><link rel="stylesheet" href="/css/index.css"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fortawesome/fontawesome-free@6/css/all.min.css" media="print" onload="this.media='all'"><link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/@fancyapps/ui/dist/fancybox.css" media="print" onload="this.media='all'"><script>const GLOBAL_CONFIG = {
root: '/',
algolia: undefined,
localSearch: undefined,
translate: undefined,
noticeOutdate: undefined,
highlight: {"plugin":"highlighjs","highlightCopy":true,"highlightLang":true,"highlightHeightLimit":false},
copy: {
success: '复制成功',
error: '复制错误',
noSupport: '浏览器不支持'
},
relativeDate: {
homepage: false,
post: false
},
runtime: '',
date_suffix: {
just: '刚刚',
min: '分钟前',
hour: '小时前',
day: '天前',
month: '个月前'
},
copyright: undefined,
lightbox: 'fancybox',
Snackbar: undefined,
source: {
justifiedGallery: {
js: 'https://cdn.jsdelivr.net/npm/flickr-justified-gallery@2/dist/fjGallery.min.js',
css: 'https://cdn.jsdelivr.net/npm/flickr-justified-gallery@2/dist/fjGallery.min.css'
}
},
isPhotoFigcaption: false,
islazyload: false,
isAnchor: false
}</script><script id="config-diff">var GLOBAL_CONFIG_SITE = {
title: 'Spike的个人博客',
isPost: false,
isHome: true,
isHighlightShrink: false,
isToc: false,
postUpdate: '2023-08-31 20:48:37'
}</script><noscript><style type="text/css">
#nav {
opacity: 1
}
.justified-gallery img {
opacity: 1
}
#recent-posts time,
#post-meta time {
display: inline !important
}
</style></noscript><script>(win=>{
win.saveToLocal = {
set: function setWithExpiry(key, value, ttl) {
if (ttl === 0) return
const now = new Date()
const expiryDay = ttl * 86400000
const item = {
value: value,
expiry: now.getTime() + expiryDay,
}
localStorage.setItem(key, JSON.stringify(item))
},
get: function getWithExpiry(key) {
const itemStr = localStorage.getItem(key)
if (!itemStr) {
return undefined
}
const item = JSON.parse(itemStr)
const now = new Date()
if (now.getTime() > item.expiry) {
localStorage.removeItem(key)
return undefined
}
return item.value
}
}
win.getScript = url => new Promise((resolve, reject) => {
const script = document.createElement('script')
script.src = url
script.async = true
script.onerror = reject
script.onload = script.onreadystatechange = function() {
const loadState = this.readyState
if (loadState && loadState !== 'loaded' && loadState !== 'complete') return
script.onload = script.onreadystatechange = null
resolve()
}
document.head.appendChild(script)
})
win.activateDarkMode = function () {
document.documentElement.setAttribute('data-theme', 'dark')
if (document.querySelector('meta[name="theme-color"]') !== null) {
document.querySelector('meta[name="theme-color"]').setAttribute('content', '#0d0d0d')
}
}
win.activateLightMode = function () {
document.documentElement.setAttribute('data-theme', 'light')
if (document.querySelector('meta[name="theme-color"]') !== null) {
document.querySelector('meta[name="theme-color"]').setAttribute('content', '#ffffff')
}
}
const t = saveToLocal.get('theme')
if (t === 'dark') activateDarkMode()
else if (t === 'light') activateLightMode()
const asideStatus = saveToLocal.get('aside-status')
if (asideStatus !== undefined) {
if (asideStatus === 'hide') {
document.documentElement.classList.add('hide-aside')
} else {
document.documentElement.classList.remove('hide-aside')
}
}
const detectApple = () => {
if(/iPad|iPhone|iPod|Macintosh/.test(navigator.userAgent)){
document.documentElement.classList.add('apple')
}
}
detectApple()
})(window)</script><meta name="generator" content="Hexo 6.0.0"><link rel="alternate" href="/atom.xml" title="Spike的个人博客" type="application/atom+xml">
</head><body><div id="sidebar"><div id="menu-mask"></div><div id="sidebar-menus"><div class="avatar-img is-center"><img src="/img/20220215145509.jpg" onerror="onerror=null;src='/img/friend_404.gif'" alt="avatar"/></div><div class="site-data is-center"><div class="data-item"><a href="/archives/"><div class="headline">文章</div><div class="length-num">10</div></a></div><div class="data-item"><a href="/tags/"><div class="headline">标签</div><div class="length-num">9</div></a></div><div class="data-item"><a href="/categories/"><div class="headline">分类</div><div class="length-num">6</div></a></div></div><hr/><div class="menus_items"><div class="menus_item"><a class="site-page" href="/"><i class="fa-fw fas fa-home"></i><span> 主页</span></a></div><div class="menus_item"><a class="site-page" href="/archives/"><i class="fa-fw fas fa-archive"></i><span> 时间轴</span></a></div><div class="menus_item"><a class="site-page" href="/tags/"><i class="fa-fw fas fa-tags"></i><span> 标签</span></a></div><div class="menus_item"><a class="site-page" href="/categories/"><i class="fa-fw fas fa-folder-open"></i><span> 分类</span></a></div><div class="menus_item"><a class="site-page" href="/link/"><i class="fa-fw fas fa-link"></i><span> 友情链接</span></a></div><div class="menus_item"><a class="site-page" href="/about/"><i class="fa-fw fas fa-heart"></i><span> 关于我</span></a></div><div class="menus_item"><a class="site-page" href="/messageboard"><i class="fa-fw fas fa-messageboard"></i><span> 留言板</span></a></div></div></div></div><div class="page" id="body-wrap"><header class="full_page" id="page-header"><nav id="nav"><span id="blog_name"><a id="site-name" href="/">Spike的个人博客</a></span><div id="menus"><div class="menus_items"><div class="menus_item"><a class="site-page" href="/"><i class="fa-fw fas fa-home"></i><span> 主页</span></a></div><div class="menus_item"><a class="site-page" href="/archives/"><i class="fa-fw fas fa-archive"></i><span> 时间轴</span></a></div><div class="menus_item"><a class="site-page" href="/tags/"><i class="fa-fw fas fa-tags"></i><span> 标签</span></a></div><div class="menus_item"><a class="site-page" href="/categories/"><i class="fa-fw fas fa-folder-open"></i><span> 分类</span></a></div><div class="menus_item"><a class="site-page" href="/link/"><i class="fa-fw fas fa-link"></i><span> 友情链接</span></a></div><div class="menus_item"><a class="site-page" href="/about/"><i class="fa-fw fas fa-heart"></i><span> 关于我</span></a></div><div class="menus_item"><a class="site-page" href="/messageboard"><i class="fa-fw fas fa-messageboard"></i><span> 留言板</span></a></div></div><div id="toggle-menu"><a class="site-page"><i class="fas fa-bars fa-fw"></i></a></div></div></nav><div id="site-info"><h1 id="site-title">Spike的个人博客</h1><div id="site-subtitle"><span id="subtitle"></span></div><div id="site_social_icons"><a class="social-icon" href="https://github.com/Gitspike" target="_blank" title="Github"><i class="fab fa-github"></i></a><a class="social-icon" href="/[email protected]" target="_blank" title="Email"><i class="fas fa-envelope"></i></a></div></div><div id="scroll-down"><i class="fas fa-angle-down scroll-down-effects"></i></div></header><main class="layout" id="content-inner"><div class="recent-posts" id="recent-posts"><div class="recent-post-item"><div class="recent-post-info no-cover"><a class="article-title" href="/2023/08/31/rust%E5%B0%8F%E8%AE%B0/" title="rust小记">rust小记</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2023-08-31T12:31:18.000Z" title="发表于 2023-08-31 20:31:18">2023-08-31</time></span></div><div class="content">Spike的博客,堂堂回归
</div></div></div><div class="recent-post-item"><div class="recent-post-info no-cover"><a class="article-title" href="/2022/04/02/ANTLR%E8%AF%AD%E6%B3%95/" title="ANTLR语法">ANTLR语法</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2022-04-02T08:07:16.000Z" title="发表于 2022-04-02 16:07:16">2022-04-02</time></span></div><div class="content"></div></div></div><div class="recent-post-item"><div class="recent-post-info no-cover"><a class="article-title" href="/2022/03/29/%E5%AE%89%E5%8D%93%E5%BC%80%E5%8F%91%E7%AC%94%E8%AE%B0/" title="安卓开发笔记">安卓开发笔记</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2022-03-29T08:37:28.000Z" title="发表于 2022-03-29 16:37:28">2022-03-29</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/Android/">Android</a></span></div><div class="content"></div></div></div><div class="recent-post-item"><div class="recent-post-info no-cover"><a class="article-title" href="/2022/03/29/antlr4%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0%EF%BC%88%E4%B8%80%EF%BC%89/" title="antlr4-C++学习笔记(基本操作)">antlr4-C++学习笔记(基本操作)</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2022-03-29T08:01:00.000Z" title="发表于 2022-03-29 16:01:00">2022-03-29</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/antlr4/">antlr4</a></span></div><div class="content">基本概念ANTLR是一个可以根据用户定义的文法自动生成词法和语法分析器的工具,并且支持多种语言(默认java,其他语言需要另行配置)
LInux下安装和配置进入/usr/local/lib目录下
12cd /usr/local/libcurl -O https://www.antlr.org/download/antlr-4.9-complete.jar
之后将其加入到环境变量中
1export CLASSPATH=".:/usr/local/lib/antlr-4.9-complete.jar:$CLASSPATH"
但是这个名字太长了,为了方便使用,可以设置别名
12alias antlr4='java -jar /usr/local/lib/antlr-4.9.2-complete.jar'alias grun='java org.antlr.v4.gui.TestRig'
配置C++环境(需要安装cmake,uuid-dev,pkg-config)由于课程设计要求,所以需要ANTLR4生成C++的代码,要额外的配 ...</div></div></div><div class="recent-post-item"><div class="recent-post-info no-cover"><a class="article-title" href="/2022/03/26/Cmake%E6%95%99%E7%A8%8B%EF%BC%88%E6%8C%81%E7%BB%AD%E6%9B%B4%E6%96%B0%EF%BC%89/" title="Cmake教程(持续更新)">Cmake教程(持续更新)</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2022-03-26T01:01:18.000Z" title="发表于 2022-03-26 09:01:18">2022-03-26</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/Cmake/">Cmake</a></span></div><div class="content">Cmake常见命令CMake的常用变量和函数先将这些函数和变量罗列出来,便于之后查找
变量
Variable
Info
CMAKE_SOURCE_DIR
根源代码目录,工程顶层目录。暂认为就是PROJECT_SOURCE_DIR
CMAKE_CURRENT_SOURCE_DIR
当前处理的 CMakeLists.txt 所在的路径
CMAKE_SOURCE_DIR, PROJECT_SOURCE_DIR, <projectname>_SOURCE_DIR
工程顶层目录
CMAKE_BINARY_DIR
运行cmake的目录。外部构建时就是build目录
CMAKE_CURRENT_BINARY_DIR
The build directory you are currently in.当前所在build目录
PROJECT_BINARY_DIR
暂认为就是CMAKE_BINARY_DIR
EXECUTABLE_OUTPUT_PATH , LIBRARY_OUTPUT_PATH
最终目标文件存放的路径。
PROJECT_NAME
通过 PR ...</div></div></div><div class="recent-post-item"><div class="recent-post-info no-cover"><a class="article-title" href="/2022/03/12/Docker%E7%9F%A5%E8%AF%86%E6%80%BB%E7%BB%93%E4%BB%A5%E5%8F%8A%E9%81%87%E5%88%B0%E7%9A%84%E9%97%AE%E9%A2%98%E6%B1%87%E6%80%BB%EF%BC%88%E6%8C%81%E7%BB%AD%E6%9B%B4%E6%96%B0%EF%BC%89/" title="Docker知识总结以及遇到的问题汇总(持续更新)">Docker知识总结以及遇到的问题汇总(持续更新)</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2022-03-12T07:39:39.000Z" title="发表于 2022-03-12 15:39:39">2022-03-12</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/Linux/">Linux</a></span></div><div class="content">报错错误1: Cannot connect to the Docker daemon at unix:///var/run/docker.sock. Is the docker daemon running?常见的解决方法csdn上都有,但是还有可能是一些阴间的原因
如果csdn上的方法都没用的话,可以检查下/etc/docker/key.json文件是否正确,问题包括但不限于:
缺少花括号等语法错误
出现了错误的键值对,有冗余内容
正确的格式应当类似如下内容:
12345678{ "crv":"P-256", "d":"36XGfrRv-_lPluKctIHib1cBUu9qFB3sfKkJEwJ13c0", "kid":"ZL2W:IAUT:PCS5:E22Q:2AWK:CBCR:KLQF:7MEK:KJHO:2WNE:GNO4:L72A", "kty":"EC", "x":"39 ...</div></div></div><div class="recent-post-item"><div class="recent-post-info no-cover"><a class="article-title" href="/2022/02/15/Pthread%E7%BA%BF%E7%A8%8B%E5%BA%93%E9%83%A8%E5%88%86%E5%87%BD%E6%95%B0/" title="Pthread线程库部分函数">Pthread线程库部分函数</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2022-02-15T08:54:59.000Z" title="发表于 2022-02-15 16:54:59">2022-02-15</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/">操作系统</a></span></div><div class="content">线程库同步线程父线程必须等到子线程结束才能恢复执行,也被称为fork-join strategy
异步线程创建好子线程后父线程就继续执行,父子线程是并发执行
Pthread1int pthread_create(pthread_t *tidp, const pthread_attr_t *attr,( void *)(*start_rtn)( void *), void *arg);
编译链接参数:-lpthread
第一个参数为指向线程 标识符的 指针。第二个参数用来设置线程属性。第三个参数是线程运行函数的起始地址。最后一个参数是运行函数的参数。
1234567891011121314pthread_t tid //无符号长整型,线程标识符pthread_attr_t attr; //线程属性的集合,是一个结构体,详细定义如下:typedef struct { int detachstate; //线程的分离状态 int schedpolicy; //线程调度 ...</div></div></div><div class="recent-post-item"><div class="recent-post-info no-cover"><a class="article-title" href="/2022/02/15/POSIX%E5%85%B1%E4%BA%AB%E5%86%85%E5%AD%98%E5%AE%9E%E4%BE%8B/" title="POSIX共享内存实例">POSIX共享内存实例</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2022-02-15T08:20:18.000Z" title="发表于 2022-02-15 16:20:18">2022-02-15</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/">操作系统</a></span></div><div class="content">POSIX 共享内存主要调用以下api
shm_open1int shm_open(const char *name,int oflag,mode_t mode)
需要以下头文件
123#include <sys/mman.h>#include <sys/stat.h> /* 对于模式常量 */#include <fcntl.h> /* 对于 oflag 常量 */
该函数会打开或创建一个共享内存对象,通常保存在/dev/shm/路径下,实质上就是一个文件,linux认为所有的对象都是文件,可以使用文件操作函数,
返回值为文件描述符fd,成功时为正数,失败时为负数
各参数含义:
name:文件名,不能填写路径
oflag:位掩码,表示文件操作属性
O_RDONLY 只读
O_RDWR 读写
O_CREAT 若文件不存在,则创建
O_EXCL 在指定O_CREAT的情况下若文件已存在,则返回错误
mode: 表示文件的共享模式,应在指定O_CREAT的情况下使用,即创建文件后的用 ...</div></div></div><div class="recent-post-item"><div class="recent-post-info no-cover"><a class="article-title" href="/2021/10/01/CMake-VSCode%E7%BC%96%E8%AF%91%E8%BF%90%E8%A1%8CC-%E7%A8%8B%E5%BA%8F%E7%AE%80%E5%8D%95%E6%95%99%E7%A8%8B/" title="CMake-VSCode编译运行C++程序简单教程">CMake-VSCode编译运行C++程序简单教程</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2021-10-01T10:39:20.000Z" title="发表于 2021-10-01 18:39:20">2021-10-01</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/Cmake/">Cmake</a></span></div><div class="content">前言本教程旨在帮助不想使用vs,但是又想使用VScode的调试功能而不想手动编译的人,只能最低限度满足要求,很多地方还不完善,如不支持源代码在不同文件夹下编译,不包含CMake语法的教程,需要进阶操作请自行搜索CMake语法,
环境安装安装和配置MinGw
MinGw中包含gcc,g++等多种编译器,可以在windows上使用(windows无法直接安装gcc),下载链接:https://sourceforge.net/projects/mingw-w64/files/Toolchains%20targetting%20Win64/Personal%20Builds/mingw-builds/8.1.0/threads-win32/seh/x86_64-8.1.0-release-win32-seh-rt_v6-rev0.7z/download
解压时尽量解压在某个盘的根目录。
将MinGW下bin目录的路径添加到环境变量中
进入bin文件夹,找到mingw32-make.exe,复制一份,将其中一份重命名为make.exe(还是保存在bin文件夹中)
验证是否配置成功,cmd中 ...</div></div></div><div class="recent-post-item"><div class="recent-post-info no-cover"><a class="article-title" href="/2020/07/23/hexo-github%E4%B8%AA%E4%BA%BA%E5%8D%9A%E5%AE%A2%E6%90%AD%E5%BB%BA/" title="hexo github个人博客搭建">hexo github个人博客搭建</a><div class="article-meta-wrap"><span class="post-meta-date"><i class="far fa-calendar-alt"></i><span class="article-meta-label">发表于</span><time datetime="2020-07-23T10:45:04.000Z" title="发表于 2020-07-23 18:45:04">2020-07-23</time></span><span class="article-meta"><span class="article-meta-separator">|</span><i class="fas fa-inbox"></i><a class="article-meta__categories" href="/categories/Hexo/">Hexo</a></span></div><div class="content">前言 一直很羡慕大佬室友的个人网站,在大佬推荐下决定用hexo框架也搭一个自己的博客,但是网上的教程都比较简略,在综合了好多教程以及自己百度了一些问题后才算是搭了起来。所以决定第一篇博客就写我的搭建过程,用来整理一下思路,还有可能以后有小伙伴想要搭建博客的时候我也可以帮上忙。(这篇其实很早就开始写了,但是由于拖延症和把yilia主题玩坏了才拖了这么久。)
前期环境的安装githunb创建个人仓库 因为我们的网站是托管在github上的,所以我们需要注册一个github账号,注册好后在左上角的Repositories(仓库)点击new创建新仓库,命名规则为 用户名.github.io 创建好后就可以了。
安装git并与GitHub绑定 简单地说,git就是一个管理代码的工具,同时也可以进行类似cmd的命令行操作(粗糙的个人理解),我们的网站在本地搭建好以后,需要使用GIT同步到GitHub上。下载链接 http://rogerdudler.github.io/git-guide/index.zh.html 同时附有简单的配置教程。安装好后需要将git与GitHub绑定,右击打开Gi ...</div></div></div><nav id="pagination"><div class="pagination"><span class="page-number current">1</span></div></nav></div><div class="aside-content" id="aside-content"><div class="card-widget card-info"><div class="is-center"><div class="avatar-img"><img src="/img/20220215145509.jpg" onerror="this.onerror=null;this.src='/img/friend_404.gif'" alt="avatar"/></div><div class="author-info__name">Spike</div><div class="author-info__description"></div></div><div class="card-info-data is-center"><div class="card-info-data-item"><a href="/archives/"><div class="headline">文章</div><div class="length-num">10</div></a></div><div class="card-info-data-item"><a href="/tags/"><div class="headline">标签</div><div class="length-num">9</div></a></div><div class="card-info-data-item"><a href="/categories/"><div class="headline">分类</div><div class="length-num">6</div></a></div></div><a id="card-info-btn" target="_blank" rel="noopener" href="https://github.com/xxxxxx"><i class="fab fa-github"></i><span>Follow Me</span></a><div class="card-info-social-icons is-center"><a class="social-icon" href="https://github.com/Gitspike" target="_blank" title="Github"><i class="fab fa-github"></i></a><a class="social-icon" href="/[email protected]" target="_blank" title="Email"><i class="fas fa-envelope"></i></a></div></div><div class="card-widget card-announcement"><div class="item-headline"><i class="fas fa-bullhorn fa-shake"></i><span>公告</span></div><div class="announcement_content">Spike 的自留地</div></div><div class="sticky_layout"><div class="card-widget card-recent-post"><div class="item-headline"><i class="fas fa-history"></i><span>最新文章</span></div><div class="aside-list"><div class="aside-list-item no-cover"><div class="content"><a class="title" href="/2023/08/31/rust%E5%B0%8F%E8%AE%B0/" title="rust小记">rust小记</a><time datetime="2023-08-31T12:31:18.000Z" title="发表于 2023-08-31 20:31:18">2023-08-31</time></div></div><div class="aside-list-item no-cover"><div class="content"><a class="title" href="/2022/04/02/ANTLR%E8%AF%AD%E6%B3%95/" title="ANTLR语法">ANTLR语法</a><time datetime="2022-04-02T08:07:16.000Z" title="发表于 2022-04-02 16:07:16">2022-04-02</time></div></div><div class="aside-list-item no-cover"><div class="content"><a class="title" href="/2022/03/29/%E5%AE%89%E5%8D%93%E5%BC%80%E5%8F%91%E7%AC%94%E8%AE%B0/" title="安卓开发笔记">安卓开发笔记</a><time datetime="2022-03-29T08:37:28.000Z" title="发表于 2022-03-29 16:37:28">2022-03-29</time></div></div><div class="aside-list-item no-cover"><div class="content"><a class="title" href="/2022/03/29/antlr4%E5%AD%A6%E4%B9%A0%E7%AC%94%E8%AE%B0%EF%BC%88%E4%B8%80%EF%BC%89/" title="antlr4-C++学习笔记(基本操作)">antlr4-C++学习笔记(基本操作)</a><time datetime="2022-03-29T08:01:00.000Z" title="发表于 2022-03-29 16:01:00">2022-03-29</time></div></div><div class="aside-list-item no-cover"><div class="content"><a class="title" href="/2022/03/26/Cmake%E6%95%99%E7%A8%8B%EF%BC%88%E6%8C%81%E7%BB%AD%E6%9B%B4%E6%96%B0%EF%BC%89/" title="Cmake教程(持续更新)">Cmake教程(持续更新)</a><time datetime="2022-03-26T01:01:18.000Z" title="发表于 2022-03-26 09:01:18">2022-03-26</time></div></div></div></div><div class="card-widget card-categories"><div class="item-headline">
<i class="fas fa-folder-open"></i>
<span>分类</span>
</div>
<ul class="card-category-list" id="aside-cat-list">
<li class="card-category-list-item "><a class="card-category-list-link" href="/categories/Android/"><span class="card-category-list-name">Android</span><span class="card-category-list-count">1</span></a></li><li class="card-category-list-item "><a class="card-category-list-link" href="/categories/Cmake/"><span class="card-category-list-name">Cmake</span><span class="card-category-list-count">2</span></a></li><li class="card-category-list-item "><a class="card-category-list-link" href="/categories/Hexo/"><span class="card-category-list-name">Hexo</span><span class="card-category-list-count">1</span></a></li><li class="card-category-list-item "><a class="card-category-list-link" href="/categories/Linux/"><span class="card-category-list-name">Linux</span><span class="card-category-list-count">1</span></a></li><li class="card-category-list-item "><a class="card-category-list-link" href="/categories/antlr4/"><span class="card-category-list-name">antlr4</span><span class="card-category-list-count">1</span></a></li><li class="card-category-list-item "><a class="card-category-list-link" href="/categories/%E6%93%8D%E4%BD%9C%E7%B3%BB%E7%BB%9F/"><span class="card-category-list-name">操作系统</span><span class="card-category-list-count">2</span></a></li>
</ul></div><div class="card-widget card-tags"><div class="item-headline"><i class="fas fa-tags"></i><span>标签</span></div><div class="card-tag-cloud"><a href="/tags/rust-%E7%BC%96%E7%A8%8B/" style="font-size: 1.1em; color: #999">-rust -编程</a> <a href="/tags/Android-Studio/" style="font-size: 1.1em; color: #999">Android Studio</a> <a href="/tags/C-C/" style="font-size: 1.3em; color: #99a1ac">C/C++</a> <a href="/tags/Cmake/" style="font-size: 1.1em; color: #999">Cmake</a> <a href="/tags/Hexo/" style="font-size: 1.1em; color: #999">Hexo</a> <a href="/tags/antlr4/" style="font-size: 1.1em; color: #999">antlr4</a> <a href="/tags/cmake/" style="font-size: 1.1em; color: #999">cmake</a> <a href="/tags/docker/" style="font-size: 1.1em; color: #999">docker</a> <a href="/tags/%E7%AC%94%E8%AE%B0/" style="font-size: 1.5em; color: #99a9bf">笔记</a></div></div><div class="card-widget card-archives"><div class="item-headline"><i class="fas fa-archive"></i><span>归档</span></div><ul class="card-archive-list"><li class="card-archive-list-item"><a class="card-archive-list-link" href="/archives/2023/08/"><span class="card-archive-list-date">八月 2023</span><span class="card-archive-list-count">1</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/archives/2022/04/"><span class="card-archive-list-date">四月 2022</span><span class="card-archive-list-count">1</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/archives/2022/03/"><span class="card-archive-list-date">三月 2022</span><span class="card-archive-list-count">4</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/archives/2022/02/"><span class="card-archive-list-date">二月 2022</span><span class="card-archive-list-count">2</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/archives/2021/10/"><span class="card-archive-list-date">十月 2021</span><span class="card-archive-list-count">1</span></a></li><li class="card-archive-list-item"><a class="card-archive-list-link" href="/archives/2020/07/"><span class="card-archive-list-date">七月 2020</span><span class="card-archive-list-count">1</span></a></li></ul></div><div class="card-widget card-webinfo"><div class="item-headline"><i class="fas fa-chart-line"></i><span>网站资讯</span></div><div class="webinfo"><div class="webinfo-item"><div class="item-name">文章数目 :</div><div class="item-count">10</div></div><div class="webinfo-item"><div class="item-name">本站总字数 :</div><div class="item-count">8.8k</div></div><div class="webinfo-item"><div class="item-name">本站访客数 :</div><div class="item-count" id="busuanzi_value_site_uv"></div></div><div class="webinfo-item"><div class="item-name">本站总访问量 :</div><div class="item-count" id="busuanzi_value_site_pv"></div></div><div class="webinfo-item"><div class="item-name">最后更新时间 :</div><div class="item-count" id="last-push-date" data-lastPushDate="2023-08-31T12:48:36.886Z"></div></div></div></div></div></div></main><footer id="footer"><div id="footer-wrap"><div class="copyright">©2020 - 2023 By Spike</div><div class="framework-info"><span>框架 </span><a target="_blank" rel="noopener" href="https://hexo.io">Hexo</a><span class="footer-separator">|</span><span>主题 </span><a target="_blank" rel="noopener" href="https://github.com/jerryc127/hexo-theme-butterfly">Butterfly</a></div></div></footer></div><div id="rightside"><div id="rightside-config-hide"><button id="darkmode" type="button" title="浅色和深色模式转换"><i class="fas fa-adjust"></i></button><button id="hide-aside-btn" type="button" title="单栏和双栏切换"><i class="fas fa-arrows-alt-h"></i></button></div><div id="rightside-config-show"><button id="rightside_config" type="button" title="设置"><i class="fas fa-cog fa-spin"></i></button><button id="go-up" type="button" title="回到顶部"><i class="fas fa-arrow-up"></i></button></div></div><div><script src="/js/utils.js"></script><script src="/js/main.js"></script><script src="https://cdn.jsdelivr.net/npm/@fancyapps/ui/dist/fancybox.umd.js"></script><div class="js-pjax"><script>function subtitleType () {
getScript('https://sdk.jinrishici.com/v2/browser/jinrishici.js').then(() => {
jinrishici.load(result =>{
if (true) {
const sub = []
const content = result.data.content
sub.unshift(content)
window.typed = new Typed('#subtitle', {
strings: sub,
startDelay: 300,
typeSpeed: 150,
loop: true,
backSpeed: 50,
})
} else {
document.getElementById('subtitle').innerHTML = result.data.content
}
})
})
}
if (true) {
if (typeof Typed === 'function') {
subtitleType()
} else {
getScript('https://cdn.jsdelivr.net/npm/typed.js/lib/typed.min.js').then(subtitleType)
}
} else {
subtitleType()
}
</script></div><script async data-pjax src="//busuanzi.ibruce.info/busuanzi/2.3/busuanzi.pure.mini.js"></script></div></body></html>