SDCC不支持REMOVEUNUSED?|不支持,需手动删除同文件中UNUSED
翻阅手册,一顿搜索无果。有大佬知道如何sdcc下REMOVEUNUSED不?--20241202
不支持,超内存则需手动删除同文件中UNUSED
--20250313
查阅手册发现个除手动屏蔽闲置函数外新解决办法,--stack-auto
https://www.stcaimcu.com/data/attachment/forum/202503/13/210514gc9tttjrtlktrra1.jpg
具体的flag当然不一样,REMOVEUNUSED是Keil PK51工具链的LX51这个程序的控制flag。不是其他软件的 看了sdccman好像没有相关命令 本帖最后由 VCC 于 2024-12-1 15:35 编辑
soma 发表于 2024-12-1 14:34
看了sdccman好像没有相关命令
有可能已经有这个了
我看dead code elimination有点像
附SDCC文档
进一步查了一下,应该就是这个的
不过我没有SDCC使用经验,建议楼主先确定一下,它是不是会默认过滤掉未使用的函数呢?还是只过滤函数内未使用的代码段?
不会默认过滤掉未使用的函数,这是头疼的地方。像w25qxx这种工具代码,几十个函数大多数没用到它全编译进去直接报错
?ASlink-Error-Could not get xxx consecutive bytes in internal RAM for area DSEG.
测试一些gcc的flag也不认{:4_177:} 本帖最后由 VCC 于 2024-12-1 17:27 编辑
ercircle 发表于 2024-12-1 16:33
不会默认过滤掉未使用的函数,这是头疼的地方。像w25qxx这种工具代码,几十个函数大多数没用到它全编译进去 ...
还是用keil呗{:4_245:}
话说,你使用SDCC的动机是? VCC 发表于 2024-12-1 17:23
还是用keil呗
{:4_164:}移植例程包,给51大舞台添砖加瓦。 ercircle 发表于 2024-12-1 17:43
移植例程包,给51大舞台添砖加瓦。
好好好!添砖加瓦!
{:4_252:} 延申阅读:
https://sourceforge.net/p/sdcc/feature-requests/452/
https://sourceforge.net/p/sdcc/discussion/1865/thread/05f487b4/?limit=25#d6c6
链接中提到的先编译个.lib再链接,经测试需要把函数分布在尽量多的c文件中,最好一个函数一个C文件,生成 rel,编译lib,再链接。同一个C文件中的未使用函数还是不会优化。 ercircle 发表于 2024-12-1 19:18
延申阅读:
https://sourceforge.net/p/sdcc/feature-requests/452/
https://sourceforge.net/p/sdcc/discu ...
学习
页:
[1]