Оригинальный DVD-ROM: eXeL@B DVD !
eXeL@B ВИДЕОКУРС !

ВИДЕОКУРС ВЗЛОМ
выпущен 2 июля!


УЗНАТЬ БОЛЬШЕ >>
Домой | Статьи | RAR-cтатьи | FAQ | Форум | Скачать | Видеокурс
Новичку | Ссылки | Программирование | Интервью | Архив | Связь

ПРОГРАММИРОВАНИЕ НА C и С++



Давно заметил, что всё-таки языки С/C++ это не самый лучший вариант программирования под Windows. Сейчас появилась масса более современных и удобных языков, например тот же Python - кроссплатформенный язык, очень легок в изучение. Я его изучил буквально за несколько дней по этому курсу - ссылка. Автор постарался, там видеоуроки на удивление легкие и понятные.

farmalloc

 
 Функция            Размещает данные  в глобальной динамической области
 
                    памяти.
 
 
 
 Синтаксис          #include<alloc.h>
 
                    void far * farmalloc(unsigned long nbytes);
 
 
 
 Файл, содержащий   alloc.h
 
 прототип
 
 
 
 Описание
 
                    Функция farmalloc  выделяет   блок   в   глобальной
 
                    динамической области памяти,  размер блока в байтах
 
                    передается в аргументе nbytes.
 
 
 
                    При выделении блока глобальной динамической области
 
                    памяти вы должны помнить следующее:
 
 
 
                    - Может  быть  выделена  вся  память с произвольной
 
                      выборкой (ЗУПВ).
 
 
 
                    - Могут быть выделены блоки, размером более 64К.
 
 
 
                    - Для  доступа  к  выделяемым  блокам  используются
 
                      "дальние" указатели (с атрибутом "far").
 
 
 
                    В моделях   памяти:  компактных,  больших  и  сверх
 
                    больших,   функция   соответствует,    однако    не
 
                    идентична,  malloc. Она получает параметр типа long
 
                    unsigned,  в  то  время,  как   malloc   использует
 
                    параметр типа unsigned.
 
 
 
                    В модели   памяти  tiny  эту  функцию  использовать
 
                    нельзя.
 
 
 
 Возвращаемое       Функция farmalloc возвращает указатель на
 
 значение           новый выделенный блок или нуль, если для размещения
 
                    нового блока не хватило памяти.
 
 
 
 Переносимость      Функция уникальна для системы DOS.
 
 
 
 Смотрите также     farcalloc, farcoreleft, farfree, farrealloc, malloc.
 
 
 
 Пример:
 
 
 
 #include<stdio.h>
 
 #include<alloc.h>
 
 #include<string.h>
 
 #include<dos.h>
 
 
 
 int main(void)
 
 {
 
    char far *fptr;
 
    char *str = "Hello";
 
    /* выделить память */
 
    fptr = farmalloc(10);
 
 
 
       /* скопировать строку "Hello" в выделенный блок памяти. */
 
       /* Замечание: Используется функция movedata, поскольку вы
 
                     можете работать в малой (small) модели памяти,
 
                     в которой нельзя использовать функции копирова-
 
                     ния строки, которые подразумевают, что пара-
 
                     метры имеют тип near */
 
 
 
       movedata(FP_SEG(str),FP_OFF(str),FP_SEG(fptr),FP_OFF(fptr),
 
                strlen(str));
 
 
 
       /* вывести строку. Обратите внимание на модификатор F*/
 
       printf(" Строка с указателем far: %Fs\n",fptr);
 
 
 
       /* освободить память */
 
    farfree(fptr);
 
    return 0;
 
 }

<< ВЕРНУТЬСЯ В ПОДРАЗДЕЛ

<< ВЕРНУТЬСЯ В ОГЛАВЛЕНИЕ




Материалы находятся на сайте https://exelab.ru/pro/



Оригинальный DVD-ROM: eXeL@B DVD !


Вы находитесь на EXELAB.rU
Проект ReactOS