컴퓨터 엑셀 워드 포토숍 구글어스 WINDOWS JAVASCRIPT JAVA C++

 
Previous Post Perl/펄] 로마 숫자, 아라비아 숫자 상호 변환 프로그램; ROMAN NUMERAL C...HTML-CSS] CSS 글꼴; 스타일 시트로 폰트(FONT) 지정하는 법C언어 VC++] 특정 경고(워닝)메시지 출력 일시 중지 프라그마; pragma warni...C언어] 분수를 소수로 변환 출력 방법/예제; Fraction To DecimalC언어] 숫자 배열, 최대값 최소값 찾는 함수; Array Max Min ValueJava/자바] 2차원 문자열 배열 선언, new 연산자로 초기화; 2 Dimensiona...Java/자바] 2차원 배열 선언/초기화/출력 예제; 배열의 배열; Array of Arr...Excel/엑셀] 셀 기본 테두리 없애는 법, 경계선, 격자 그리드 눈금선 제거; Remo...윈도우] BAT 파일 실행 하는 법; MS-DOS 배치 파일 실행법특수문자 그림, 글자로 그림 그리기; ASCII Art 아스키 아트; 이모티콘

C언어] 실행시 오류(런타임 에러): runtime error R6002 - floating point not loaded

Thursday, November 23, 2006

컴파일은 잘 되는데, 컴파일된 실행파일(exe)을 실행하면

runtime error R6002 - floating point not loaded

이런 "런타임 에러"가 나는 경우가 있습니다. 부동소수점 라이브러리 가 실행파일에 포함되지 않았기 때문입니다. 부동소수점 라이브러리는 용량이 크기 때문에 필요한 경우에만 포함시킵니다.


예를 들어 다음과 같은 경우 이런 에러가 납니다:

#include <stdio.h>

int main(void) {

  printf("%f\n", 2);

  return 0;
}



그리고 위의 경우, 런타임 에러 (floating point...) 와 무관하게, 0.000000 이라는 값이 출력되므로 역시 오류.


다음과 같이 하면 에러가 없습니다:

#include <stdio.h>

int main(void) {

  printf("%f\n", (double) 2);
  // 또는
  printf("%f\n", 2.0);

  return 0;
}

숫자 2 를 (double) 이렇게 실수로 캐스팅(변환)해 주든지, 2.0 이라고 뒤에 소수점을 붙이면 됩니다.


즉, 소스에서 실수 연산에 대한 무슨 코드가 있어야, 부동 소수점 라이브러리가 포함됩니다.





소스의 내용이 어떻든 강제로 부동 소수점 라이브러리를 포함시키려면 소스에
double dummy = 0.0;
이런 식으로 아무 실수형 변수 하나를 "지역 변수"로 정의해 주면 됩니다. 그러나 이 경우, 컴파일러 설정에 따라, "쓰지 않는 지역 변수가 있다"는 경고가 나올 수 있습니다: "warning C4189: 'dummy' : local variable is initialized but not referenced"

dummy 변수를 무의미한 작업에 한번 사용하면 경고가 없어집니다. 또는 pragma 를 사용하는 방법도 있습니다: ▶▶ C언어 VC++] 특정 경고(워닝)메시지 출력 일시 중지 프라그마; pragma warning Off


☞ C/C++

0 Comments:

Post a Comment

<< Home RSS 2.0 feed

구글 Google 에서 제공하는 무료 블로그 서비스인 블로거 Blogger 의 인터넷 주소는 www.blogger.com 입니다. Blogger 에 블로그를 만들면, blogspot.com 이라는 주소에 블로그가 생성됩니다.
블로그를 직접 방문하지 않고도 최신 게시물을 구독하려면 RSS 2.0 feed 주소를 리더기에 등록하시면 됩니다.
Categories
Previous Posts
Monthly Archives
Top