简介
该用户还未填写简介
擅长的技术栈
未填写擅长的技术栈
可提供的服务
暂无可提供的服务
OLLVM分析
一、LLVM是什么LLVM最初是Low Level Virtual Machine的缩写,定位是一个,但是是比较底层的虚拟机。然而LLVM本身并不是一个完整的编译器,LLVM是一个编译器基础架构(infrastructure),把很多编译器需要的功能以可调用的模块形式实现出来并包装成库,供其他编译器实现者可以根据自己的需要选择使用或者扩展。主要聚焦于编译器后端功能,如代码生成、代码优化、JIT等。
Linux动态链接器
我开始以为动态链接器ld-linux.so.x是linux内核的一部分,其实这种想法是错误的。分析完ELF可执行文件在内核中加载启动的源码后,可以参考博主的这两篇博客Linux加载启动可执行程序的过程(一)内核空间加载ELF的过程Linux加载启动可执行程序的过程(二)解释器完成动态链接我们可以知道,识别二进制映像以及文件映射到进程虚拟地址空间这个过程确实是在内核中完成的,但是动态链接的过程,需要
Linux查看动态库.so导出函数列表
有两种方式:1.使用objdump命令。例如:objdump -tT xxx.so2.使用nm命令(个人觉得使用nm方式查看更方便。)例如 nm -D xxx.so(-D或-dynamic选项表示:显示动态符号。该选项仅对于动态库有意义)得到的结果中以T开头的就是导出函数实例:自己生成一个只包含test_b函数的动态库libtest.so使用awk命令筛选出第二列为-T的行...
到底了