最新文章LLVM
前端(Front-End):处理高级语言(如 C/C++/Obj-C)的编译,生成中间表示(IR)
优化器(Optimizer):对中间表示进行优化,提高代码执行效率
后端(Back-End):将优化后的中间表示转换为目标平台的机器码
当用户编写的 C/C++/Obj-C 代码输入到 Clang 前端时,Clang 会执行以下步骤:
词法分析(Lexical Analysis):将源代码转换为标记(tokens)
语法分析(Syntax Analysis):将标记转换为抽象语法树(AST)
语义分析(Semantic Analysis):检查语义正确性,生成中间表示(IR)
生成的抽象语法树(AST)通过进一步处理,转换为 LLVM 的中间表示(IR)这个中间表示是一种平台无关的低级编程语言,用于连接前端和后端
在前端,Clang 将高级语言代码转换为为 LLVM 的中间表示(IR)
LLVM 的优化器
Analysis pass
Transform pass
作用:
常量折叠(Constant Folding):将编译时已知的常量表达 ...
GDB
find . -name “*.[ch]” | xargs grep “#include” | sort | uniq
gdb
l(list) 行号/函数名 —— 显示对应的code,每次10行
r(run) —— F5【无断点直接运行、有断点从第一个断点处开始运行】
b(breakpoint) + 行号 —— 在那一行打断点
b 源文件:函数名 —— 在该函数的第一行打上断点
b 源文件:行号 —— 在该源文件中的这行加上一个断点
info b —— 查看断点的信息 num编号 type类型 disp转态 address 地址 what 函数行
breakpoint already hit 1 time【此断点被命中一次】
d(delete) + 当前要删除断点的编号 —— 删除一个断点【不可以d + 行号】
若当前没有跳出过gdb,则断点的编号会持续累加
d breakpoints —— 删除所有的断点
disable b(breakpoints) —— 使所有断点无效【默认缺省】
enable b(breakpoints) —— 使所有断点有效【默认缺省】
di ...
Vim-Backup
VIM
q1 记录宏1 q停止记录
ctrl+a 对数字进行加一操作。这里它会增加第二行中的数字
ctrl+v 进入可视化块模式,允许用户选择一个文本块24l4jd$p
24l4j 选择向右移动24次数,向下4行 kjhl
d:删除(cut)高亮选中的块
$:将光标移动到当前行的行尾。
p:在光标位置之后粘贴之前删除的文本块
vim .vimrc
setlocal noswapfile “ 不要生成swap文件
set bufhidden=hide “ 当buffer被丢弃的时候隐藏它
colorscheme evening “ 设定配色方案
set number “ 显示行号
set cursorline “ 突出显示当前行
set ruler “ 打开状态栏标尺
set shiftwidth=2 “ 设定 << 和 >> 命令移动时的宽度为 2
set softtabstop=2 “ 使得按退格键时可以一次删掉 2 个空格
set tabstop=2 “ 设定 tab 长度为 2
set noba ...
C++_STL
vector动态数组vector vc
vc.back() 返回最后一个元素
vc.front() 第一个元素
swap() 交换两个Vector。
push_back() 在Vector最后添加一个元素。
pop_back() 它从向量中删除最后一个元素。
empty() 判断Vector是否为空(返回true时为空)
insert() 它将在指定位置插入新元素va.insert(va.begin()+1,1,4);
erase() 删除指定的元素
resize() 它修改向量的大小。
clear() 它从向量中删除所有元素。
size() 返回Vector元素数量的大小。
capacity() 返回vector所能容纳的元素数量(在不重新分配内存的情况下)
assign() 它将新值分配给向量。
operator=() 它将新值分配给向量容器。
operator 它访问指定的元素。
end() 返回最末元素的迭代器(实指向最末元素的下一个位置)
emplace() 它将在位置pos之前插入一个新元素。
emplace_back() 它在末尾插入一个新元素。
rend ...
大数据复习
简答题:
1.Hadoop安装步骤。
2.列举大数据在各个领域的应用。
金融:大数据可以用于风险评估、欺诈检测、客户推荐等。医疗:大数据可以用于疾病预测、药物开发、健康监测等。零售:大数据可以用于销售预测、客户购买行为分析、价格优化等。制造业:大数据可以用于生产过程监测、质量控制、资源优化等。教育:大数据可以用于学习分析、教学内容优化、学习成绩预测等。
3.Hadoop体系结构的Hbase与其他组件的关系。
Hadoop是一个大数据处理框架,它包含若干个组件,其中HBase是一个开源的分布式数据库,主要用于存储和管理海量的结构化和非结构化的数据。HBase是Hadoop体系结构的一个组件,主要用于存储和管理海量的结构化和非结构化的数据。它可以通过HDFS来存储数据,并使用Hadoop MapReduce来进行数据处理。
4.Hbase与传统数据库的区别。
架构不同:HBase采用分布式架构,可以横向扩展,而传统数据库通常采用单机或主从架构,难以横向扩展。存储类型不同:HBase采用列存储模型,可以存储海量的结构化和非结构化的数据,而传统数据库通常采用行存储模型,只能存储结构化的数据。数 ...
人工智能
人工智能理论资料
1.1956年正式提出人工智能这个术语。
2.人工智能的定义:人工智能是一门研究如何构造智能机器(智能计算机)或智能系统,使它能模拟、延伸、扩展人类智能的学科。
3.人工智能研究的基本内容:
知识表示
机器感知
机器思维
机器学习
4.人工智能的主要研究领域:
自动定理证明
博弈
模式识别
机器视觉
自然语言理解
智能信息检索
数据挖掘与知识发现
专家系统(4-5个即可)
6.(可能简答)什么是人工智能?它有哪些特点?
人工智能是一门研究如何构造智能机器(智能计算机)或智能系统,使它能模拟、延伸、扩展人类智能的学科。
特点:具有感知能力
具有记忆与思维能力
具有学习能力
具有行为能力
第二章(出大题 综合题)
1知识表示的方法
(1)一阶谓词逻辑表示法
(2)产生式表示法
(3)框架表示法
(4)语义网络表示法
(5)状态空间表示法
2.一阶谓词逻辑表示法(重点看 课本25页)
3.一阶谓词逻辑知识表示方法的一般步骤(掌握)课本32页例2.1
(1)定义谓词及个体,确定每个谓词及个体的确切定义
(2)根据要表达的事物或概念,为谓词中的变元赋以特定的值
(3)根据 ...
IPV6安全
IPv6安全机制论述
目 录
1 IPv6安全隐患.. 1
1.1 IPv6安全技术简介… 1
1.1.1 IPv6安全技术的历史背景… 1
1.1.2 IPv6安全技术的特点… 1
1.2 IPv6安全隐患… 2
1.2.1 IPv4向IPv6过渡技术的隐患… 2
1.2.2 IPv6中组播技术缺陷的隐患… 3
1.2.3 邻居发现协议的隐患… 3
1.2.4 邻居发现协议的隐患… 3
2 方法措施.. 5
2.1 应对IPv6安全隐患的措施… 5
2.1.1 加大防护技术的研究投入… 5
2.1.2 加快信息安全产品研制。… 5
3 技术实现.. 6
3.1 IPv6认证… 6
3.1.1 IPv6身份认证的实现… 6
3.1.2 层次移动IP接入认证设计… 6
3.2 IPv6加密技术过程… 8
3.2.1 IPv6加密分析… 8
3.2.2 IPv6验证与加密的结合分析… 8
4 结论与展望.. 10
1 IPv6安全隐患1.1 IPv6安全技术简介1.1.1 IPv6安全技术的历史背景
以IPv4为核心技术的Intern ...
复活吧!我的Blog
因为各种事情加上密钥丢失,导致停更最近无事,翻新了一下一切随缘
NISP一级
与计算机硬件关系最密切的软件是( )。
A、编译程序
B、数据库管理程序
C、游戏程序
D、OS
答案:D
系统的主要功能有( )。
A、进程管理、存储器管理、设备管理、处理机管理
B、虚拟存储管理、处理机管理、进程调度、文件系统
C、处理机管理、存储器管理、设备管理、文件系统
D、进程管理、中断管理、设备管理、文件系统
答案:C
按照应用领域对操作系统进行划分,不包含以下哪一种( )。
A、桌面操作系统
B、批处理操作系统
C、服务器操作系统
D、嵌入式操作系统
答案:B
用户在设置口令时,以下原则哪个是错误的( )。
A、严禁使用与账号相同或相似的口令
B、不要使用与个人有关的信息作为口令内容
C、不要设置短于6个字符或仅包含字母或数字的口令
D、可以使用空口令
答案:D
身份鉴别是安全服务中的重要一环,以下关于身份鉴别叙述不正确的是( )。
A、身份鉴别是授权控制的基础和
B、身份鉴别一般不提供双向的认证
C、目前一般采用基于对称秘钥加密或公开密钥加密的方法
D、数字签名机制是实现身份鉴别的重要机制
答案:B
下列关于CA的说法错误的是( )。
A、CA是 ...
kali主机探测
ping:
ping -c 5 s 2000 192.168.1.3 发送五个大小为2000字节的数据包(ICMP echo请求)
arping -c 5 192.168.1.3 只能本地局域网内运行,无法跨路由器和网关,用于测试是否在线
fping用于同时向多个主机发送ping请求,通过监视目标主机的回复来判断是否可用
fping将尝试向每个目标发送三个ICMP echo包,如果目标不响应则判断为不可达
nbtscan可用于通过扫描ip地址获取目标netbios名字信息的工具,生成包含主机ip,netbios计算机名,可用服务,登录用户名和mac地址的报告
-hv查看运行服务
系统识别:
p0f:
p0f -o /root/p0f.log 把登录信息保存在root/p0f.log下
xprobe2是一个主动的系统识别工具,通过模糊签名匹配,可能性猜测,签名数据库来识别操作系统,终端下输入xprobe2探测目标主机操作系统类型