工具/软件:TI C/C++编译器
我有一个关于Flash2.8335万_API_V210.lib和rts2800_fpu32.lib库的使用问题,这些库正在我们的程序中使用。 程序不调用的库函数会发生什么情况? 这些功能是否链接并内置于图像中,或者它们是否未包含在最终图像中?
C2000编译器toolchain 5.2 1正与3.3 CCS一起使用
谢谢!
This thread has been locked.
If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.
工具/软件:TI C/C++编译器
我有一个关于Flash2.8335万_API_V210.lib和rts2800_fpu32.lib库的使用问题,这些库正在我们的程序中使用。 程序不调用的库函数会发生什么情况? 这些功能是否链接并内置于图像中,或者它们是否未包含在最终图像中?
C2000编译器toolchain 5.2 1正与3.3 CCS一起使用
谢谢!
可以说,库中未调用的函数被排除在最终图像之外,这种说法很接近,但并不十分精确。
准确地说: 库中的文件(不是函数)定义了主应用程序代码(无论是直接还是间接)所使用的任何符号,它们都被排除在最终图像之外。 请考虑一个示例。 假定库文件包含两个函数:
int is_called(){/* code here */}
int never被调用(){/* code here */}
假定主应用程序代码调用is_called,但不是never被调用。 然后将整个文件进入链接。 在此处未描述的情况下,链接程序的其他功能可能会在以后删除never调用。 但是,将讨论限制在库中的内容,这两个函数都是进来的。
谢谢,此致,
-George
如果源文件是使用选项--gen_func_Subsections(-gen_func_Subsection)生成的,链接程序将删除函数never调用。 C2000编译器手册 介绍了选项--gen_func_Subsections. 此描述包括一个库示例,与我在上一篇文章中提供的示例类似。
谢谢,此致,
-George