首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使链接器使用货物生成地图文件

如何使链接器使用货物生成地图文件
EN

Stack Overflow用户
提问于 2016-09-03 20:09:27
回答 2查看 2.3K关注 0票数 7

我正在为使用锌的STM32F407处理器编写一个锈蚀程序。我想要能生成链接器地图文件。我发现我可以将以下内容放在我的main.rs中,这给了我想要的结果:

代码语言:javascript
复制
#![feature(link_args)]
#[link_args = "-Wl,-Map=blink_stm32f4.map"]
extern {}

然而,link_args建议不要使用这种方法。

还有哪些其他方法可以让链接器生成映射文件?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2016-09-04 08:04:05

link-args可以通过rustc -C link-args="-Wl,-Map=blink_stm32f4.map" test.rs传递到rustc

cargo rustflagsbuild部分也有选择。见货物配置。它的工作方式如下:

代码语言:javascript
复制
$ 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包装脚本:

代码语言:javascript
复制
$ cat my-linker.sh
#!/bin/sh

arm-...-gcc -Wl,-Map=blink_stm32f4.map $@
票数 7
EN

Stack Overflow用户

发布于 2021-05-13 11:16:23

我试图在.cargo/config中添加类似的内容

代码语言:javascript
复制
[build]
rustflags = ["-Clink-args=-Wl,-Map=/tmp/app.map"]

但我错了:

锈蚀-lld:错误:未知参数'-Wl,-Map=/tmp/app.map‘

根据这个博客的说法,在我将其更改为:

代码语言:javascript
复制
[build]
rustflags = ["-Clink-args=-Map=/tmp/app.map"]
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/39310905

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档