Размер программы в памяти

Модераторы: Hawk, Romeo, Absurd, DeeJayC, WinMain

Ответить
Eugie
Сообщения: 708
Зарегистрирован: 17 фев 2004, 23:59
Откуда: SPb

Для DOS-программы (компилятор Microsoft C for MS-DOS, ver. 6.00 6.00a 6.00ax 7.00) можно так:

Код: Выделить всё

#include<dos.h>

extern unsigned _psp;       /* segment of PSP                */ 
unsigned size;              /* size of program in paragraphs */ 
unsigned far *psp_pointer;  /* pointer to beginning of PSP   */ 

         /* psp_pointer[1] will contain the final allocated  */ 
         /* segment of the program stored in the second word */ 
         /* of the program segment prefix.                   */ 

void main(void)
{
     FP_SEG(psp_pointer)=_psp;
     FP_OFF(psp_pointer)=0;

     /* size in paragraphs; to multiply by 16 gets size in bytes */
     size= psp_pointer[1]-_psp;
}
Ответить