我使用28377单片机进行开发,开发中用到了第三方模块以及提供的lib库。第三方的lib库中有很多函数,但在我的代码中只使用了其中一小部分。
但是使用过程中,编译后发现加入代码占用空间特别大,通过观察map文件,可以看到lib库中所有的函数都被编译进了代码。
想请教下是什么原因导致的这种情况,因为我在同一个工程中也使用了rts2800_fpu32.lib库,但只有使用的函数才被编译,如下图:
系统自带的rts2800_fpu32.lib库,每个函数应该是单独的c文件,编译生成单独的obj。
第三方库生成了一个obj文件,如下图:
是否是因为第三方库文件在编译的时候,将所有函数放在了一个c文件中导致的?或者是在生成lib文件的时候设置问题?
期望得到解答,谢谢。
user4323508:
自带库编译后在map文件中的情况
第三方库情况
Annie Liu:
回复 user4323508:
为更加有效地解决您的问题,我们建议您将问题发布在E2E英文技术论坛上https://e2e.ti.com/support/microcontrollers/c2000/f/171,将由资深的工程师为您提供帮助。我们的E2E英文社区有TI专家进行回复,并得到全球各地工程师的支持,分享他们的知识和经验。