iOS LLVM

Objective-C在变成机器码之前,会被LLVM编译器转换为中间代码

  • 转换指令
clang -emit -llvm -S main.m

语法简介
@ - 全局变量
% - 局部变量
alloca - 在当前执行的函数的堆栈帧中分配内存,当该函数返回到其调用者时,将自动释放内存
i32 - 32位4字节的整数
align - 对齐
load - 读出,store写入
icmp - 两个整数值比较,返回布尔值
br - 选择分支,根据条件来转向label,不根据条件跳转的话类似goto
label - 代码标签
call - 调用函数

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 引言 维基百科: 编译语言(英语:Compiled language)是一种以编译器来实现的编程语言。它不像解释型...
    素还真人阅读 6,942评论 0 7
  • 前言   计算机是只能直接理解机器语言,而不能直接理解高级语言的,所以计算机要执行高级语言编写的程序,就必须要把高...
    xxxxxxxx_123阅读 4,326评论 4 0
  • 前言 语言类型 我们有很多维度可以将计算机语言进行分类,其中以编译/执行方式为维度,可以将计算机语言分为: 编译型...
    AiLearn阅读 7,276评论 1 6
  • LLVM LLVM是架构编译器(compiler)的框架系统,由C++编写完成,用于优化已任意程序编写的程序的编译...
    木扬音阅读 4,599评论 2 9
  • 1. LLVM概念 1.1 编译器 LLVM与编译器息息相关,究竟什么是编译器呢?带着疑问往下看吧。编译器就是将一...
    冼同学阅读 3,803评论 1 4

友情链接更多精彩内容