Как динамически выделить память от 2 до 5 байт ?

Тема в разделе "WASM.BEGINNERS", создана пользователем gershkovich, 27 мар 2006.

  1. gershkovich

    gershkovich New Member

    Публикаций:
    0
    Регистрация:
    14 фев 2006
    Сообщения:
    97
    Пишу процедуру в ДЛЛ которая конвертит число в строку (null-terminated, разумеется)



    Соответственно для строки нужно выделить место размером

    от 2 до 5 байт. Выделить именно динамически (а не резервировать в коде типа Str db 5 dup(0)), поскольку

    подразумевается, что функцию будут вызывать несколько потоков.



    Почитал здесь на форуме как это можно сделать посредством win api и ужаснулся. Я так понял, виндовс может выделять память

    тока страницами по 4К (функции типа GlobalAlloc, HeapAlloc).

    А как выделить небольшое пространство ??



    А может есть другое решение ?



    Заранее спасибо.
     
  2. SFeLi

    SFeLi Sergey Sfeli

    Публикаций:
    0
    Регистрация:
    10 фев 2006
    Сообщения:
    6
    Адрес:
    Severodvinsk, Russia
    Кто тебе сказал, что HeapAlloc выделяет память страницами? Она как раз для того и предназначена, чтобы мелкими кусками память выделять!
     
  3. cresta

    cresta Active Member

    Публикаций:
    0
    Регистрация:
    13 июн 2004
    Сообщения:
    2.257
    SysAllocString

    SysAllocStringByteLen



    Эти штуковины как раз для таких дел.
     
  4. IceStudent

    IceStudent Active Member

    Публикаций:
    0
    Регистрация:
    2 окт 2003
    Сообщения:
    4.300
    Адрес:
    Ukraine
    Или на стеке.
     
  5. gershkovich

    gershkovich New Member

    Публикаций:
    0
    Регистрация:
    14 фев 2006
    Сообщения:
    97
    Спасибо!



    То что нужно.