七天LLVM零基础入门(Linux版本)------第二天
2023-09-27 14:26:37 时间
在第一天的时候,我们简单了解了llvm和clang。今天我们继续对LLVM进行学习。
第一步:学会如何查找LLVM的文档LLVM的文档很多,也很全面,是开源软件中文档比较全面并且比较细致的,这是很难得的一个事情。
作者:snsn1984
在第一天的时候,我们简单了解了llvm和clang。今天我们继续对LLVM进行学习。
第一步:学会如何查找LLVM的文档
LLVM的文档很多,也很全面,是开源软件中文档比较全面并且比较细致的,这是很难得的一个事情。所以只要和LLVM打交道,就一定要学会并且善于去使用这些LLVM的文档。
因为LLVM文档比较多,初学者可能不太容易搞清楚,我之前写过一个关于LLVM的文档的博文,可以参考:
http://blog.csdn.net/snsn1984/article/details/8165529
这个博文把文档的地址和文档的分类进行了简单介绍。
第二步:熟悉LLVM的IR
IR是intermediate representation的缩写,顾名思义是中间表示的的缩写。中间表示已经被越来越多的编译器所采用,传统的编译器多采用汇编语言作为自己的中间语言,而现在大一些的编译器都有了自己专属的中间表示。LLVM IR的官方文档地址:http://llvm.org/docs/LangRef.html
简要介绍可参加我之前的博文:http://blog.csdn.net/snsn1984/article/details/8037414
LLVM IR是整个LLVM框架中极其重要的一部分,一般与LLVM相关的项目都无法避开LLVM IR这个部分,因为它是整个LLVM框架中的枢纽,所以LLVM IR的官方文档必须要完全熟悉。初学者做不到完全熟悉的,至少也应该读几遍,知道整个LLVM IR的大部分内容,细节的内容记不住的可以在使用的时候进行查找文档。
另外,应该可以使用clang去获取一个程序的.ll格式和.bc格式的IR文件,并且能够让这两种格式的文件进行相互转换。
相关知识补充:如果编译原理相关知识比较差的话,需要在这个环节补充一下编译原理的相关知识,至少要知道从源码到可执行文件中的每一个大的环节。同时,也需要去补充一下为什么编译器都采用中间表示,这对LLVM IR的学习,以及后续的学习都很有帮助。
----------------------------------------------------------转载请注明出处---------------------------------------------------------------------------
2023 | 10个最佳的Linux发行版本 Linux操作系统是一款强大且流行的开源系统。自创建至今它已经存在了30多年。虽然它最初是一个类unix系统,但是现在已经发展成许多不同的风格或发行版。 每个发行版都提供独特的功能和好处,使其成为特定用户的最佳选择。因此,无论您是在寻找用户友好性、安全性、轻量级的特性,还是其他特性,都有适合您的Linux发行版。 以下是精选的顶级Linux发行版,包含了每个Linux发行版的优点和主要特性的描述。其中包括开源版本,也有付费版本供大家参考。
snsn1984 多年研发和团队管理经验,熟悉LLVM、GPU等技术领域,具备公司层面技术管理能力。
作者:snsn1984
在第一天的时候,我们简单了解了llvm和clang。今天我们继续对LLVM进行学习。
第一步:学会如何查找LLVM的文档
LLVM的文档很多,也很全面,是开源软件中文档比较全面并且比较细致的,这是很难得的一个事情。所以只要和LLVM打交道,就一定要学会并且善于去使用这些LLVM的文档。
因为LLVM文档比较多,初学者可能不太容易搞清楚,我之前写过一个关于LLVM的文档的博文,可以参考:
http://blog.csdn.net/snsn1984/article/details/8165529
这个博文把文档的地址和文档的分类进行了简单介绍。
第二步:熟悉LLVM的IR
IR是intermediate representation的缩写,顾名思义是中间表示的的缩写。中间表示已经被越来越多的编译器所采用,传统的编译器多采用汇编语言作为自己的中间语言,而现在大一些的编译器都有了自己专属的中间表示。LLVM IR的官方文档地址:http://llvm.org/docs/LangRef.html
简要介绍可参加我之前的博文:http://blog.csdn.net/snsn1984/article/details/8037414
LLVM IR是整个LLVM框架中极其重要的一部分,一般与LLVM相关的项目都无法避开LLVM IR这个部分,因为它是整个LLVM框架中的枢纽,所以LLVM IR的官方文档必须要完全熟悉。初学者做不到完全熟悉的,至少也应该读几遍,知道整个LLVM IR的大部分内容,细节的内容记不住的可以在使用的时候进行查找文档。
另外,应该可以使用clang去获取一个程序的.ll格式和.bc格式的IR文件,并且能够让这两种格式的文件进行相互转换。
相关知识补充:如果编译原理相关知识比较差的话,需要在这个环节补充一下编译原理的相关知识,至少要知道从源码到可执行文件中的每一个大的环节。同时,也需要去补充一下为什么编译器都采用中间表示,这对LLVM IR的学习,以及后续的学习都很有帮助。
----------------------------------------------------------转载请注明出处---------------------------------------------------------------------------
2023 | 10个最佳的Linux发行版本 Linux操作系统是一款强大且流行的开源系统。自创建至今它已经存在了30多年。虽然它最初是一个类unix系统,但是现在已经发展成许多不同的风格或发行版。 每个发行版都提供独特的功能和好处,使其成为特定用户的最佳选择。因此,无论您是在寻找用户友好性、安全性、轻量级的特性,还是其他特性,都有适合您的Linux发行版。 以下是精选的顶级Linux发行版,包含了每个Linux发行版的优点和主要特性的描述。其中包括开源版本,也有付费版本供大家参考。
snsn1984 多年研发和团队管理经验,熟悉LLVM、GPU等技术领域,具备公司层面技术管理能力。
相关文章
- CTF必备技能丨Linux Pwn入门教程——栈溢出基础
- Linux pwn入门教程(1)——栈溢出基础
- linux相关的工具
- 进入Linux救援(rescue)模式的四大法门
- 单片机成长之路(51基础篇) - 006 在Linux下搭建51单片机的开发烧写环境
- Linux网络-套接字编程基础
- Linux的进程优先级NI和PR到底有什么区别
- Linux入门第五天——shell脚本入门(中)基础语法之判断与条件
- 把书读薄-Linux入门基础
- Linux:nohup、setsid将程序放到后台运行
- Linux内核爆出远程DoS漏洞CVE-2017-6214 目前只看到4.9.11不受影响
- Linux操作系统基础(完结)
- linux 运维基础测验题
- 【Linux 基础笔记】(二)
- Linux再学--shell基础6sed和awk
- 七天LLVM零基础入门(Linux版本)------总结
- 七天LLVM零基础入门(Linux版本)------第三天
- 七天LLVM零基础入门(Linux版本)------第一天
- Linux shell 基础之--基本脚本
- LINUX用户管理——/etc/passwd文件详解
- linux 基础学习之四:shell脚本学习(1)
- linux 基础学习之三:bash shell初识 上
- Linux清除原有ssh密钥方法
- Linux开发工具的使用
- 网络虚拟化基础一:linux名称空间Namespaces
- linux邮件系统的优势和便利性
- Linux : makefile 和 make基础
- 一、python学习之Linux系统基础