- 博客(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
2769
3
原创 用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
5349
原创 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
1095
1
原创 在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
14358
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
951
原创 StringTokenizer用法详解及举例
StringTokenizer自定义字符为分界符进行拆分,下面用例子来说明:StringTokenizer自定义字符为分界符进行拆分,下面用例子来说明:public class To {public static void main(String[] args) throws IOException { InputStreamReader isr = new InputStrea...
2018-08-31 17:16:51
1480
原创 非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
2872
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
5222
pdf转word、html等目前是转换最好的软件了,软件名叫:AdobeAcrobatDC
2018-06-13
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人