void llvtype(std::string_view k, Value* v) { std::cout << std::format("{}:{}:{}", k, (int)v->getType()->getTypeID(), v->getName().str() ) << "\n"; } . ...
分类:
其他好文 时间:
2021-06-08 23:38:58
阅读次数:
0
IR: define i32 @add1(i32 %p1) { entry: %retVal = add i32 1, %p1 ret i32 %retVal } #include "llvm/ExecutionEngine/Orc/LLJIT.h" #include "llvm/IR/Functi ...
分类:
其他好文 时间:
2021-06-02 20:31:32
阅读次数:
0
目标读者 一线工程师,架构师 预计阅读时间 15-20min 🐢 完成阅读的收获 了解静态代码审核技术的原理 了解静态代码审核技术工作流 不得不提的 Clang 由于 OCLint 是一个基于 Clang tool 的静态代码分析工具,所以不得不提一下 Clang。 Clang 作为 LLVM 的 ...
分类:
其他好文 时间:
2021-02-22 11:56:12
阅读次数:
0
当你在linux下写C/C++代码的时候,是不是会遇到许多编译链接的问题? 时不时报个glibc,gcc,g++等相关的错误? 很多时候都无从下手,而且比较混乱。 这也是编译链接过程中经常出现的问题。 这篇文章不是去介绍如何编译链接,而是理清编译链接过程中碰到的一些概念和出现的问题。尤其是,libc ...
分类:
编程语言 时间:
2021-02-15 12:25:15
阅读次数:
0
clang比gcc编译效率更高,更多详情自行了解。 不废话,开始配置。 前提:安装好vscode(我还是想废话一下) 需要下载两个东西,链接已附,版本会随时间更新,这用的都是用当前的最新版 1-LLVM https://releases.llvm.org/download.html#11.0.0 2 ...
分类:
编程语言 时间:
2021-01-02 11:34:13
阅读次数:
0
在对现有工具二次开发时,我们常常插入assert()检查来确保程序行为符合预期。但需要注意的是,一些项目的编译选项会使assert()无效。目前我们的解决方案是,宏定义一个自己的assert检查: #define MyAssert(x) do { \ if (!(x)) {printf("MyAss ...
分类:
其他好文 时间:
2020-12-29 11:02:47
阅读次数:
0
目前市面上的许多安全公司都会在保护IOS应用程序或安卓APP时都会用到OLLVM技术。譬如说顶象IOS加固、网易IOS加固等等。故而我们今天研究下OLLVM是个什么。将从(1)OLLVM是什么?OLLVM与LLVM的关系;(2)OLLVM的三大功能;(3)OLLVM的配置过程;(4)OLLVM源码分 ...
分类:
其他好文 时间:
2020-11-24 12:41:16
阅读次数:
7
CUI又称TUI,作为一个开发者和云主机这种服务性环境的使用者,无论有没有意识到,它都是装机时我们大多数情况下第一要装的。linux往往天然集成语言环境和包管理(语言级或系统桌面级),这使得云主机linux装机量往往占首位。相反在windows下没有这样一套东西,因为windows往往作为终端windows应用往往面向要求图形界面的普通用户。那么为什么需要这样一套环境呢?1,cui环境是历史上程序
分类:
其他好文 时间:
2020-10-08 19:31:40
阅读次数:
19
获取源码 git clone https://github.com/llvm/llvm-project.git 相关依赖安装 apt-get update apt-get install -y git vim build-essential gcc-6 g++-6 cmake swig python ...
分类:
其他好文 时间:
2020-09-24 21:21:45
阅读次数:
37
在ubuntu上直接用apt安装clangd版本太低,可以从源码编译安装,但是很耗时。 clangd提供了源https://apt.llvm.org/,可以按照源上的指令安装: bash -c "$(wget -O - https://apt.llvm.org/llvm.sh)" 但是没有合理上网, ...
分类:
系统相关 时间:
2020-09-03 16:33:13
阅读次数:
149