Ame*_*meo 11 rust llvm-ir rust-cargo
如何让货物为我的项目发出LLVM-IR而不是二进制文件?我知道你可以使用这个--emit=llvm-ir标志rustc,但是我已经阅读了一些Github问题,这些问题表明不可能将任意编译器标志传递给货物.
有什么方法可以让货物直接发射LLVM-IR吗?
Jac*_*cob 21
有cargo rustc通过Cargo传递任意编译器标志rustc.所以我认为:
cargo rustc -- --emit=llvm-ir
Run Code Online (Sandbox Code Playgroud)
是你想要的!
编辑:你应该使用雅各布的答案;更容易并且更少黑客。
通常使用货物构建项目,但添加标志-v以显示详细输出。该命令将得到如下结果:
casey@casey-ubuntu:~/Documents/project$ cargo build -v
Fresh aster v0.22.1
Fresh num-traits v0.1.34
Fresh itoa v0.1.1
...
Compiling project v0.1.0 (file:///home/casey/Documents/project)
Running `rustc src/main.rs --crate-name ...`
Finished debug [unoptimized + debuginfo] target(s) in 3.54 secs
Run Code Online (Sandbox Code Playgroud)
如果该命令没有产生输出,请在项目代码中的某处进行更改,以欺骗编译器重建它,因为只有在检测到其中一个文件发生更改时,它才会重建。
rustc从以“Running `rustc...”开头的行的 ` 标记内复制命令并附加到--emit=llvm-ir它。
这将在您的 /target/debug 文件夹中生成一个 .ll 文件。
| 归档时间: |
|
| 查看次数: |
3985 次 |
| 最近记录: |