我如何使用 LLVM IR 中的 C 函数?

问题描述 投票:0回答:1

编写 C 函数的正确方法是什么,然后我将其链接到我的 llvm IR 程序。

这就是我目前编译程序的方式:

clang -c out.ll -o out.o
clang out.o -o out

这大致是我的 C 函数:

void __write(char *s)

我在 llvm 中声明如下:

declare void @__write(i8*)

我真的不知道如何将这两者联系起来,因为我是 Clang 和 LLVM 的初学者。

我已经搜索了很多这个主题,但到目前为止没有找到明确的答案。

c clang llvm
1个回答
0
投票

如果您使用 llvm jit,则应该将带有函数指针的 SymbolMap 注册到 JITDylib;

有一个完整的示例代码来声明 extern C 函数并稍后在 LLVM IR 中使用它们。 外部 C 函数

© www.soinside.com 2019 - 2024. All rights reserved.