我正在为使用锌的STM32F407处理器编写一个锈蚀程序。我想要能生成链接器地图文件。我发现我可以将以下内容放在我的main.rs中,这给了我想要的结果:
#![feature(link_args)]
#[link_args = "-Wl,-Map=blink_stm32f4.map"]
extern {}然而,link_args建议不要使用这种方法。
还有哪些其他方法可以让链接器生成映射文件?
发布于 2016-09-04 08:04:05
link-args可以通过rustc -C link-args="-Wl,-Map=blink_stm32f4.map" test.rs传递到rustc。
cargo rustflags在build部分也有选择。见货物配置。它的工作方式如下:
$ cargo new --bin testbin
$ cd testbin
$ cat .cargo/config
[build]
rustflags = ["-Clink-args=-Wl,-Map=/tmp/blink_f7.map"]
$ cargo build此外,在linker配置中还有cargo选项。我不尝试通过这个选项gcc + flags传递,只有gcc,但是您可以编写如下的gcc包装脚本:
$ cat my-linker.sh
#!/bin/sh
arm-...-gcc -Wl,-Map=blink_stm32f4.map $@发布于 2021-05-13 11:16:23
我试图在.cargo/config中添加类似的内容
[build]
rustflags = ["-Clink-args=-Wl,-Map=/tmp/app.map"]但我错了:
锈蚀-lld:错误:未知参数'-Wl,-Map=/tmp/app.map‘
根据这个博客的说法,在我将其更改为:
[build]
rustflags = ["-Clink-args=-Map=/tmp/app.map"]https://stackoverflow.com/questions/39310905
复制相似问题