c - 在 Windows 7 64 位中使用 DosBox 在 Turbo C 中重复运行同一程序时出错

标签 c windows-7 dosbox bgi turbo-c

我正在尝试在 Windows 7 64 位中将 Turbo C 与 DosBox (DosBox 0.74) 一起使用。

该程序第一次运行时运行良好。它编译成功,没有错误,并且执行也完美。

当我尝试重复运行相同的程序时,程序似乎会生成奇怪的输出。因此,尽管仍然可以成功编译,但现在运行良好的同一程序会创建错误输出。

以下程序根据顶点数量将多边形顶点放置在空间中。在第一次运行时,它会生成完全预期的输出,但当我重复它时,它会创建完全错误的输出。顶点被放置在完全随机的位置。

我怀疑是不是和内存有关。当我尝试使用不同的模拟器时,也重复出现类似的错误!

更新1: 我刚刚尝试使用 Mac OSX,但重复出现同样的错误。

#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;
}

最佳答案

更改文件 dosbox-0.74.conf 中的一项配置

来自 核心=自动

至 核心=正常

重新打开dosbox并测试你的程序,肯定能准确运行!完成!

关于c - 在 Windows 7 64 位中使用 DosBox 在 Turbo C 中重复运行同一程序时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10702245/

相关文章:

c - 如果返回值结构有太多成员,则包装的函数指针参数会更改

c++ - 与 GCC 配合使用的适用于 Windows 7 的免费 C/C++ IDE

c - C 中的指针赋值、malloc() 和 free()

c - Haskell 到 C - 自定义数据类型

windows-7 - Windows PHP-FPM 可以同时处理多个请求吗?

c++ - 创建自定义锁屏 Windows 7

assembly - 如何在汇编语言编程中提示用户输入字符串并再次显示

batch-file - 如何在 DOSBox 的子程序中创建变量?

assembly - 在 MSDOS 中,要求该人输入现有文件名,然后将其删除

c - 在 c 中处理多个 fork()