WinAPI: GlobalAlloc(), malloc() и вообще

Заранее прошу тапками не кидать) Нужно редко, поэтому знания обрывочные.
1. Обычно для обмена данными с api-функциями здесь приводят примеры с использованием совокупности GlobalAlloc(), Sys(2600), GlobalFree() из kernel32.
Понадобилось мне тут больше возможностей, чем даёт VFP-шный GetFile(). Почитал форум, полез смотреть референсный код от производителя: modify class _comdlg of (Home()+"ffc_system.vcx"). А там сплошные malloc(), memcpy() и free() из msvcrt.dll. Ну и начали тревожить смутные сомнения. Там, конечно, полно странностей и мелких косяков, но работа с памятью ж дело критичное, не могли в этом накосячить.
В чём разница? Или это те же яйца только в профиль? Тогда какой из этих профилей разумней/правильней использовать в контексте VFP?
2. Заодно. Microsoft [url=https://docs.microsoft.com/en-us/windows/win32/api/winbase/nf-winbase-globalalloc]здесь пишет[/url], что для работы с памятью global-функции сильно нагружены и лучше использовать heap-функции. Исключение – если использование именно global* оговорено в документации, например DDE, clipboard functions, OLE data objects. Не особо вчитывался про heap-функции, но, навскидку, там всё аналогично. Или, говоря о VFP, как раз попадаем в эти ограничения, и нечего тут выдумывать?

0

Автор публикации

Пользователи не найдены
Оставить комментарий
Авторизация
*
*
Генерация пароля