我是 LLVM 编译器和基础架构的新手。我有以下想法。Clang 是 C/C++ 的 LLVM 前端,类似于 Rust 编程语言的 Rustc。两者都可以发出 LLVM IR 代码,并且发出的代码可以编译为可执行的应用程序。
我的问题是可以链接不同的编程语言吗?示例如下 -
/* Code in C */
int add(int, int);
int main()
{
printf("%d", add(5 ,6));
}
以 Rust 中定义的函数为例
// Code in Rust
fn main()
{
println!("{}", add(5, 6));
}
fn add (x: i32, y: i32) -> i32
{
x + y
}
从两个源文件生成 IR 后,是否可以链接它们并创建一个应用程序?
我只是想知道这是否有效,请告诉我。