You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为当前进程可靠获取可用的llvmlite TargetData实例?

解决llvmlite获取默认TargetData崩溃的问题

在Ubuntu 20.04(x86_64-unknown-linux-gnu)环境下,直接通过进程三元组创建TargetData会触发解析错误,推荐通过TargetMachine间接获取适配当前架构的默认TargetData,步骤如下:

  1. 导入llvmlite核心模块:
from llvmlite import ir, llvm
from llvmlite.binding import TargetMachine
  1. 获取当前进程的目标三元组并创建TargetMachine:
triple = llvm.get_process_triple()
target_machine = TargetMachine(triple=triple)
  1. 从TargetMachine提取TargetData:
target_data = target_machine.target_data

这样获取的TargetData会自动适配x86_64架构的字长与对齐规则,可直接用于计算ABI大小等操作。


内容的提问来源于stack exchange,提问作者drhagen

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.20 13:32:35