Windows 7 64 비트에서 DosBox (DosBox 0.74)와 함께 Turbo C를 사용하려고합니다.Windows7에서 DosBox를 사용하여 터보 C에서 같은 프로그램을 반복적으로 실행하면 오류가 발생합니다. 64bit
프로그램은 첫 번째 실행을 완벽하게 잘 작동합니다. 오류없이 성공적으로 컴파일되며 완벽하게 실행됩니다.
동일한 프로그램을 계속 실행하려고하면 prorgams가 이상한 출력을 생성하는 것으로 보입니다. 따라서 완벽하게 작동하는 동일한 프로그램이 여전히 성공적으로 컴파일되지만 오류 출력을 생성합니다.
다음은 정점의 수에 따라 공간에 다각형 정점을 배치하는 프로그램입니다. 첫 번째 실행에서는 완벽하게 예상되는 출력을 생성하지만 반복 할 때 완전히 잘못된 출력을 생성합니다. 버텍스는 완전히 랜덤 한 위치에 배치됩니다.
메모리와 관련이 있는지 의심 스럽습니다. 다른 에뮬레이터를 사용해도 비슷한 오류가 반복됩니다!
업데이트 1 : Mac OSX에서 방금 시도한 것과 같은 오류가 반복됩니다. 파일 도스 박스 - 0.74.conf 코어에서
에서
#include<stdio.h>
#include<conio.h>
#include<graphics.h>
#include<math.h>
int main()
{
int gd=DETECT,gm,count,i,x[100],y[100],r=100;
initgraph(&gd,&gm,"c:\\tc\\");
printf("Enter the number of cordinates:");
scanf("%d",&count);
printf("Entered count :%d",count);
for(i=0;i<count;i++)
{
x[i]=r*cos(2*3.14*(i+1)/count)+200;
y[i]=r*sin(2*3.14*(i+1)/count)+200;
circle(x[i],y[i],5);
}
getch();
return 0;
}
이상한 행동은 '터보 C'에 대해 '정상'입니다. 더 나은 컴파일러를 사용하십시오. –
변수에 쓰레기 값이 들어 있다고 생각합니다. 적절한 메모리를 제공하고 초기화해야합니다. – vikky
@KingsIndian 불행히도 지금은 터보 C를 고수해야합니다! – qwerty123