在一些项目中,我明确地没有链接libgcc,所以有些东西丢失了。
在某些情况下,例如在指定__gnu_thumb1_case_uqi
优化时,这会导致-Os
等函数的未定义引用失败。
如何防止gcc在编译期间发出这些函数?
答案 0 :(得分:0)
您可以尝试:
-fno-builtin -fno-builtin-function
不要识别不以“
__builtin_
”作为前缀的内置函数。有关受影响的功能的详细信息,请参阅GCC提供的其他内置函数,包括那些在使用-ansi
或-std
严格ISO C一致性选项时不是内置函数的函数,因为它们不具有ISO标准含义。<子> GCC Online Docs 子>
但是,如果#include
头文件的宏扩展为对GCC内置函数的调用,则只能通过不包含这些头来阻止它。如果您没有链接标准库,您可能也不希望包含标准头文件。