LLVM之clang

参考网站:LLVM系统入门

1 准备

1.1 编写一个c文件,命名为hello.c。
1.2 修改环境变量PATH
(1)vim /etc/profile
(2)添加 export PATH=/root/ollvm/obfuscator-llvm-4.0/build/bin/:$PATH
(3)source /etc/profile

这样可以直接使用clang命令,而无需指定其位置。

2 编译为本机可执行文件

clang hello.c -o hello

文件类型为ELF。

3 编译c文件

可以得到两种格式的IR

(1) 将c文件编译为 LLVM bitcode文件
clang -emit-llvm hello.c -c -o hello.bc

其中.bc格式是llvm的字节码的二进制形式。需要使用llvm-dis来查看,将LLVM位代码转换为人类可读的LLVM程序集。

llvm-dis < hello.bc | less
(2) 将c文件编译为.ll格式
clang -emit-llvm hello.c -S -o hello.ll

其中.ll格式是llvm字节码的文本形式,可以直接使用文本编辑器查看

4 执行

./hello

或者

lli hello.bc

lli是LLVM解释器,它可以直接执行LLVM bitcode文件

5 生成本机程序集

llc是LLVM后端编译器,它将LLVM bitcode转换为本机代码程序文件。

llc hello.bc -o hello.s

hello.s文件类型为ASCII text。

6 将本机程序集组装到程序中

gcc hello.s -o hello.native

7 执行本机代码程序

./hello.native
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
您可以从LLVM官方网站下载LLVM的Windows版本。下载网址是http://releases.llvm.org/download.html。您可以选择适合您的操作系统的版本进行下载,比如LLVM 9.0.0的Windows (64-bit)版本。下载完成后,您可以运行setup.exe进行安装。建议您将安装路径选择在没有空格的地方,比如直接安装在C盘下。如果您只需要使用clang工具而不需要libclang库,可以跳过Step3。如果您需要使用libclang,可以按照引用\[2\]中的指引,在cmd中转到build文件夹下,执行cmake命令来配置LLVM。在配置时,您可以根据您的需求选择合适的参数。在安装LLVM时,您可以根据引用\[3\]中的指引,选择需要的组件进行安装。如果只是为了使用LLVM,只需勾选“使用C++的桌面开发”这一项和右侧“可选”里勾选的选项即可。如果需要使用libclang,还需要安装VS的命令行工具。 #### 引用[.reference_title] - *1* *3* [windows下LLVMclang, libclang)的安装和配置](https://blog.csdn.net/weixin_46570816/article/details/104998166)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [win10下安装llvmclang](https://blog.csdn.net/wgx571859177/article/details/80376134)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值