부동 소수점의 절대 값을 표시하는 간단한 프로그램 fabs.c
을 작성했습니다.GCC로 컴파일 할 때 fabs()에 -lm 옵션이 필요하지 않은 이유
#include <stdio.h>
#include <math.h>
int main(void)
{
float f;
printf("Enter a floating-point number: ");
scanf("%f", &f);
printf("Its absolute value is %f.\n", fabs(f));
return 0;
}
팹() 함수는 math.h
헤더 파일을 포함해야합니다,하지만 난 -lm
옵션없이 성공적으로 컴파일.
gcc fabs.c -o fabs
심지어 man fabs
는 link with -lm
을 말한다. 하지만 왜 내가 성공적으로 -lm
없이 컴파일 할 수 있는지 모르겠다.
Gcc는 일부 내장 버전의 기능을 인라인합니다. '-fno-builtin-fabs'를 시도하십시오. –
@MarcGlisse 고맙습니다. 인라인의 의미를 정확히 알지는 못하지만. – LinuxBabe
https://en.wikipedia.org/wiki/Inline_expansion –