【发布时间】:2020-05-21 22:03:38
【问题描述】:
我见过this question,他的回答得出的结论是内置数学函数(如__builtin_sin、__builtin_fmod 等)可以替换C 标准库中的函数。
我写了以下程序:
float fmod_test(float arg1, float arg2) {
return __builtin_fmod(arg1, arg2)
}
void _start() {}
并编译如下:
gcc -nostdlib test.c -o test
很遗憾,我收到以下错误:
/tmp/ccuHpvCP.o: In function `fmod_test':
test.c:(.text+0x1d): undefined reference to `fmod'
collect2: error: ld returned 1 exit status
似乎__builtin_fmod 在后台使用fmod 并需要链接到它,而不是像“内置”函数那样生成内联版本。
有没有办法在不链接外部库的情况下使用这些内置函数?
【问题讨论】: