打印
[单片机芯片]

使用__attribute__((used)),MounRiver为什么还会优化?

[复制链接]
10948|5
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
yywyai|  楼主 | 2021-8-10 09:56 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
比如如下定义 const int eee __attribute__((used, section(".xxx"))) = 0; 程序中没有使用这个变量,会被MounRiver优化掉?是什么地方设置不对吗?

使用特权

评论回复
沙发
huquanz711| | 2021-8-10 18:27 | 只看该作者
没有这样用过

使用特权

评论回复
板凳
qq172179| | 2021-8-10 19:43 | 只看该作者
被连接器去掉了,在ld文件中 .text段增加这个 keep(*(SORT_NONE(.xxx))),应该就可以了

使用特权

评论回复
地板
yywyai|  楼主 | 2021-8-11 09:06 | 只看该作者
本帖最后由 yywyai 于 2021-8-11 09:07 编辑
qq172179 发表于 2021-8-10 19:43
被连接器去掉了,在ld文件中 .text段增加这个 keep(*(SORT_NONE(.xxx))),应该就可以了 ...

非常感谢,确实是连接器去掉了,在ld中增加       .xxx:
        {
                KEEP(*(SORT(.xxx)))
                . = ALIGN(4);
        } >FLASH AT>FLASH

就可以了

使用特权

评论回复
5
yywyai|  楼主 | 2021-8-11 17:27 | 只看该作者
发现在链接设置里面有一项 Remove unused sections,去掉勾选即可

使用特权

评论回复
6
tail066| | 2021-9-10 11:20 | 只看该作者
你们都是大神,讨论的问题都让我看不懂

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

12

主题

55

帖子

3

粉丝