自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(8)
  • 资源 (3)
  • 收藏
  • 关注

原创 利用llvm 源码提供的API,获取IR中函数调用实际参数的名字并打印

在LLVM Pass开发中,由于需要我们可能需要获取IR中函数调用的的实际参数名字,在C语言中函数调用是这样的func1("hello",3),如果在编译器的前端clang中我们想要获取第一个参数"hello",还是比较容易的,但是在当程序被转成IR就类似这样了:@.str = private unnamed_addr constant [6 x i8] c"hello\00", align...

2019-05-21 16:06:04 2511 2

原创 用gdb去调试clang

做编译器开发的经常会遇到各种问题,有些问题又不是很容易发现而且网上关于gdb调试clang的文章很少,下面简单介绍一下用gdb调试clang供大家学习。1.首先输入gdb进入调试模式2.打开要调试的clang可执行文件,通过file命令:等待一会儿将会显示Reading symbols from ~/llvm3.8/bin/clang...done字样3.设定调...

2019-04-21 17:53:57 4759

原创 llvm/clang编译器添加航天子集区域限制的制导#pragma as-check

一.实现效果输入:添加制导的源程序*.c 输出:打印每个函数对应的是否在制导范围内,如果在制导范围内,对应的规则号 输出格式为 函数名:[0,1,2](1 表示有 as-check 制导 rule1,2 表示有制导 rule2, 0 表示没有)每个函数一行 。例如:示例输入example.c示例输出二.算法流程:1、当 Lexer 认出”#pragma”时调用 ...

2019-04-21 17:15:19 976

原创 在CmakeLists.txt中添加-ldl编译选项解决:undefined reference to `dlopen'问题

当大家使用dlopen,dlsym等时可能遇到过下面的错误:undefined reference to dlopen' undefined reference todlsym’undefined reference to `dlclose’如果是单个的源文件解决方法是:gcc demo.c -ldl就这样直接在gcc最后加上-ldl就可以了,但是如果你遇到的是一个工程,就需要修改Cmak...

2018-10-09 10:45:13 12962 4

原创 linux中两种方法生成动态库,gcc手动和cmake自动生成

一、说一下通过gcc直接生成动态链接库,这个比较简单网上也有很多教程,我根据自己的demo代码简要说一下。先说明在我需要生成动态库的源码中总共有11个C语言文件在src文件夹下面,还有很多头文件在include文件夹中,进入src文件夹执行一下命令就会生成libnpc.so动态库。gcc -shared -fPIC -o libnpc.so -I…/include afpktinterfa...

2018-10-08 10:33:02 874

原创 StringTokenizer用法详解及举例

StringTokenizer自定义字符为分界符进行拆分,下面用例子来说明:StringTokenizer自定义字符为分界符进行拆分,下面用例子来说明:public class To {public static void main(String[] args) throws IOException { InputStreamReader isr = new InputStrea...

2018-08-31 17:16:51 1378

原创 非root用户安装llvm/clang(纯干货)

之前在网上看了很多安装llvm/clang的,大都是得有管理员权限或者能用sudo才能安装,写的也不够详细,对于没有权限的用户安装llvm/clang需要进行配置,把安装目录指定到你自己用户下的文件夹,不然你无权限写入默认路径。 前面部分大都和网上的差不多下载LLVM源码(建议重命名为llvm): cd where-you-want-llvm-to-live svn co http://...

2018-08-31 17:08:05 2429 3

原创 c++根据传入的字符串,动态调用对应的函数,目的是手工实现运行时函数的改变

首先创建a.h,a.cpp,和b.cpp是三个文件。 1.a.h里面,包含三个函数,三个函数分别为,funca_wrapper, funca_impl1, funca_impl2,这三个 函数的函数签名(参数个数,类型和顺序)完全一样,提供一个辅助函数get_func_impl, 该函数根据传入的函数名字动态调用对应的函数(funca_impl1或funca_impl2), 2. a.cp...

2018-08-31 16:43:49 4895

LLVM公开课课件.zip

LLVM公开课课件,现在这个公开课收费了,我把课件传上去,里面含有课程中的源代码,供大家参考。

2019-05-10

SDAccel环境opencl源码在FPGA上

赛灵思公司给的官方的代码实例,初学者可以下载学习,熊最简单的helloword程序开始。

2018-07-04

pdf转word、html等目前是转换最好的软件了,软件名叫:AdobeAcrobatDC

pdf转word、html等软件是目前pdf转成别的文档,最好用的软件了,软件名是Adobe Acrobat DC,资源下载链接在文档里面,也可以把英文pdf转成html网页然后用谷歌浏览器翻译,这样就可以看英文文档了。

2018-06-13

空空如也

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

TA关注的人

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