PDA

View Full Version : کد پر ابهام



suraty
جمعه 27 خرداد 1390, 18:33 عصر
با سلام
این کد مربوط می شود به مثال تابع setvect در help خود کامپایلر. از همه ی دوستانی که حتی خیلی کم از این کد سر در می آورند عاجزانه تقاضامندم کمک نمایند. چون من اصلا متوجه نمی شوم.:افسرده:


/* getvect and setvect example */

/* * * * * * * * * * * * * * *
NOTE: This is an interrupt service routine.
You can NOT compile this program with
Test Stack Overflow turned on and get an
executable file that will operate correctly.
* * * * * * * * * * * * * * */
#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++;

/* 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);

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

return 0;
}