반응형
pow() 함수를 사용하면 C에서 정의되지 않은 참조 오류가 발생합니다.
다음 코드 비트가 C에서 작동하는 이유는 무엇입니까?
int res = pow(2, 3);
printf("%d\n", res);
반면에 다른 사람은 그렇지 않나요?
int a = 2;
int b = 3;
int res = pow(a, b);
printf("%d\n", res);
내가 노력해도
double a = 2;
double b = 3;
double res = pow(a, b);
printf("%f\n", res);
나는 이해합니다.
'pow'에 대한 정의되지 않은 언급
내가 뭘 잘못하고 있는 거지?
그것이 작동할 때, 그것은 계산이 컴파일러 자체에 의해 수행되었기 때문입니다(그리고 당신이 그것을 작성한 것처럼 이진법에 포함되었습니다).
printf("8\n");
그것이 작동하지 않을 때, 그것은.pow
함수는 수학 라이브러리에 포함되어 있으며 수학 라이브러리는 기본적으로 이진수와 연결되어 있지 않습니다.
함수 라이브러리를 연결하려면 컴파일러가 gcc이면
gcc ... -lm ...
다른 컴파일러에서도 동일해야 합니다 :)
하지만 문서를 읽습니다.
undefined reference to 'pow'
링커 오류처럼 들립니다.함수를 도입하더라도 수학 라이브러리에서 링크하지 않습니다.pow
포함하여<math.h>
.
gcc를 사용할 경우-lm
함수 lib에서 링크할 명령줄 매개 변수입니다.
이렇게 사용
#include <math.h>
#include <stdio.h>
int main(void)
{
for(int i = 1; i < 5; i++)
printf("pow(3.2, %d) = %lf\n", i, pow(3.2, i));
return 0;
}
출력:
pow(3.2, 1) = 3.200000
'pow'에 대한 정의되지 않은 언급
임의의 숫자에 대한 검정력은 검정력과 같은 정수 값을 가져야 하기 때문입니다.
pow(x,y)
where, x must be real and y must be a whole number
언급URL : https://stackoverflow.com/questions/4174080/using-pow-function-throws-undefined-reference-error-in-c
반응형
'programing' 카테고리의 다른 글
R 객체 식별 (0) | 2023.06.15 |
---|---|
판다들은 공식이 아닌 탁월한 가치를 읽습니다. (0) | 2023.06.10 |
VUEX API 계층이 변환됩니까, 아니면 GETER입니까? (0) | 2023.06.10 |
유형 스크립트에서 클래스 인스턴스를 내보내는 방법 (0) | 2023.06.10 |
Scipy(Python)로 이론적인 분포에 경험적 분포를 맞추는 것? (0) | 2023.06.10 |