여기 참고
"" sqrt() 함수를 사용하기 위해서는 컴파일 시 -lm 옵션을 사용하여 수학 라이브러리를 링크해야 한다 (일부 컴파일러 및 환경에서 필요). 예를 들어, gcc 컴파일러를 사용하는 경우, 컴파일 명령은 gcc -o program program.c -lm 이런 식으로 됨. ""
-lm 을 붙이지 않으면?
>> 당연히 오류
calculate_distance 함수에서 pow, sqrt 함수 모두 잘 안 돌아간다. 이때 뒤에 -lm 을 붙이면 해결이 된다.
float calculate_distance(struct point p1, struct point p2) {
int x1, x2, y1, y2;
x1 = p1.xpos;
y1 = p1.ypos;
x2 = p2.xpos;
y2 = p2.ypos;
return ((float) sqrt(pow(x1 - x2, 2) + pow(y1 - y2, 2)));
}
gcc program.c -o program -lm
ubuntu 아니어도 vscode 환경에 연결했다면 이렇게 해도 됨
'학교 수업 > 컴프 3' 카테고리의 다른 글
실습 12주차 segmentation fault (0) | 2025.05.29 |
---|---|
malloc(): corrupted top size (0) | 2025.05.24 |
2주차 실습 - 반복문 조건문 (0) | 2025.03.16 |
댓글