نمایش نتایج 1 تا 1 از 1

نام تاپیک: مشکل در برنامه TSR

  1. #1
    کاربر جدید آواتار Foad_hr1988
    تاریخ عضویت
    مهر 1387
    محل زندگی
    Tehran
    پست
    10

    Exclamation مشکل در برنامه - interrupt

    با سلام خدمت شما...من یک برنامه TSR از help خود C++‎‎‎‎‎‎‎ از قسمت setvect نوشتم...کار میکند. اما وقتی printf رو که داخل while هست رو از درون main برنامه داخل intrrupt یی که دستی نوشته شده کپی می کنم ، به محض اجرا ، برنامه بسته میشه و Error می ده...
    برنامه رو میخوام طوری باشه که هر ثانیه که میگذره ، count اضافه بشه و چاپ بشه...

    اگر ممکنه دلیل تعریف قسمت زیر رو هم بگویید....
    چرا اینطوریه ، یعنی سه نقطه گذاشته و ...؟ اصلا نمی فهمم!!!
    به چه دلیل در توابع بکار برده؟
    اگر نباشه چی میشه؟
    #ifdef __cplusplus
    #define __CPPARGS ...
    #else
    #define __CPPARGS
    #endif
    سورس برنامه اصلی که Error می ده :
    #include <stdio.h>
    #include <dos.h>
    #include <conio.h>
    #define INTR 0X1C /* The clock tick interrupt */
    #ifdef __cplusplus
    #define __CPPARGS ...
    #else
    #define __CPPARGS
    #endif

    void interrupt ( *oldhandler)(__CPPARGS);
    int count=0;
    void interrupt handler(__CPPARGS)
    {
    /* increase the global counter */
    count++;

    printf("count is %d",count);
    /* call the old routine */
    oldhandler();
    }

    int main(void)
    {
    /* save the old interrupt vector */
    oldhandler = getvect(INTR);

    /* install the new interrupt handler */
    setvect(INTR, handler);

    /* loop until the counter exceeds 20 */
    // while (count < 20)
    // printf("count is %d\n",count);

    getch();

    /* reset the old interrupt handler */
    setvect(INTR, oldhandler);

    return 0;
    }
    آخرین ویرایش به وسیله Foad_hr1988 : جمعه 11 تیر 1389 در 00:05 صبح

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •