tags:

views:

25

answers:

1

The linker gives error that overflow at initgraph and close graph

#include<dos.h>
#define DETECT 0
union REGS in,out;
void detectmouse()//no declaration(prototype)?
{
    in.x.ax=0;
    int86(0x33,&in,&out);
    if(out.x.ax==0)
    {
        printf("Fail to initialize the mouse.");
    }
    else
    {
    printf("Mouse succesfully initialized.");
    }
    getch();
}

void showmousegraphics()//show mouse in graphics mode
{
    int driver=DETECT,mode;
    initgraph(&driver,&mode,"c:\\tc\\bgi");
    in.x.ax=1;
    int86(0X33,&in,&out);
    getch();
    closegraph();
}
void main()
{
    detectmouse();
    showmousegraphics();

}
+1  A: 

Ahh, you're probably using some old compiler for DOS. In that case, you have to choose large memory model when compiling, so that you can have more than 64kB of code.

zvrba