ESP编译时如何将没有使用的文件加入链接
Posted: Wed Sep 05, 2018 4:37 pm
我在使用esp-idf遇到了这样的问题:
新建了一个C文件test.c,里面实现了几个函数,func1,func2...这样子,使用gcc的关键字将需要的函数声明为特殊的section:
然后在链接脚本中esp32.common.ld中添加了KEEP(*(.myfunc)),外部没有调用该文件中任何一个函数时,生成的map中,该文件所有函数被移除掉了;如果外部调用了testfunc函数,则myfunc0不会被移除。
我需要怎么配置才能在没有外部调用的情况下,myfunc0不会被移除掉?(去掉--gc-sections会保留其他不需要的代码,不是我想要的)
谢谢了!
新建了一个C文件test.c,里面实现了几个函数,func1,func2...这样子,使用gcc的关键字将需要的函数声明为特殊的section:
Code: Select all
int myfunc0(void) __attribute__((section(.myfunc)))
{
return 0;
}
int testfunc(void)
{
return 0;
}
我需要怎么配置才能在没有外部调用的情况下,myfunc0不会被移除掉?(去掉--gc-sections会保留其他不需要的代码,不是我想要的)
谢谢了!