自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

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

原创 LLVM 介绍(一) 项目与Chris Lattner

目录LLVM 项目编译器高材生Chris Lattner(克里斯·拉特纳)CLANG 项目LLVM基本特性LLVM优势特性LLVM适用人群LLVM 项目LLVM项目是模块化、可重用的编译器以及工具链技术的集合。可重用的编译器以及工具链技术的集合。美国计算机协会 (ACM) 将其2012 年软件系统奖项颁给了LLVM,之前曾经获得此奖项的软件和技术包括:Jav...

2019-11-24 21:53:33 791

转载 [转]深入理解 CPU 的分支预测(Branch Prediction)模型

目录背景问题的提出分析优化结论补充知识Pipeline分支预测器没有分支预测器会怎样?有分支预测期的pipeline常见的分支预测器引出 我写了一篇关于static key的文章,static key 主要是优化关于指令预取的性能,本想自己搞一篇什么是预取指令,但是这篇写的很好,直接转了,感谢作者的无私。 背景先来看段c++代码,我们...

2018-10-09 09:55:01 16823 2

原创 Linux 内核中的 static_key 机制

目录 问题来源:恶意程序检测DO_ONCE函数解析STATIC KEYSGOTOJUMP TABLE__do_once_doneCONFIG 问题解决:问题来源:恶意程序检测最近,主要由于在研讨一些关于LINUX被恶意程序ROOT后,可能会被修改代码段中的数据。为了防止代码段被修改,采用几种特殊的机制来保护代码段的数据不被篡改,当有恶意程序试图修改代码段...

2018-10-01 13:09:30 2247 1

原创 2.2 C++ 变量

变量变量提供一个具体、可供程序操作的存储空间。C++中的每一个变量都有其数据类型,数据类型决定着变量所占的内存空间的大小和布局方式、该空间能存储的值的范围,以及变量能参与的运算。对于C++程序员来说,“变量”和“对象”一般可以互相使用。变量定义变量定义就是告诉编译器在何处创建变量的存储,以及如何创建变量的存储。变量定义指定一个数据类型,并包含了该类型的一个或多个变量的列表,如下所示:...

2018-08-05 11:33:51 202

原创 2.1 C++ 基本内置类型

C++定义了一套包括算数类型和空类型在内的基本类型,其中算数类型包含了字符、宽字符、整型数、浮点数、布尔值等。空类型不对应具体的值,仅用于一些特殊的场合,例如最常见的,当函数不返回任何值时,使用空类型作为返回值。编程语言进行编程时,需要用到各种变量来存储各种信息。变量保留的是它所存储的值的内存位置。这意味着,当您创建一个变量时,就会在内存中保留一些空间。您可能需要存储各种数据类型(比如字符...

2018-08-03 23:13:15 136

转载 _IO, _IOR, _IOW, _IOWR 宏的用法与解析

今天在写字符驱动验证程序的时候要用到ioctl函数,其中有一个cmd参数,搞了半天也不了解是什么意思,那个cmd还有什么命令码了什么的,还好google下,觉得这篇文章写的不错,就转来看看:在驱动程序里, ioctl() 函数上传送的变量 cmd 是应用程序用于区别设备驱动程序请求处理内容的值。cmd除了可区别数字外,还包含有助于处理的几种相应信息。 cmd的大小为 32位,共分 4 个域:

2017-01-19 17:41:56 232

空空如也

空空如也

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

TA关注的人

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