Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

kol + msvcrt + ntdll ??? [Delphi, Windows]


ntg13 ©   (2007-11-23 01:12:00) 

Цель использования КОЛа - уменьшить код прилад. Для этого применяются уже привычные ухищрения, вроде написания функций rtl в ассемблере, вылизывания System.pas  и пр. Но в любом НТ (nt4, 2000,
xp, ..) есть такое богатство уже отлаженных и стандартизированных rtl - библиотек( msvcrt.dll, shlwapi.dll, ntdll.dll ). Единственный недостаток в отсутствии заголовочных файлов на паскале для всех функций этих библиотек. А в случае с ntdll.dll большая часть интересного не документирована.
 В msvcrt.dll ( это библиотека времени исполнения Си ) есть Менеджер Кучи (правда, не самый производительный, но MultiThread), обработка исключений, преобразование типов, математические функции, работа с файлами, строковые манипуляции. Руки чешутся взять kol.pas и system.pas и прикрутить к ним Сишные функции. Для эксперимента взял модуль fastMM и подставил Malloc, realloc, free. Тест показал худший по скорости результат (heapAlloc и то лучше ), но главное - идея.
 Мне можно возразить, что проще програмить на Си и линковать с динамическими rtl, но в том и кайф КОЛа, что програмишь на делфи, а эффект, как от хардкорного Си. (кстати, на котором написаны почти все
экзешники Вынь32. (кроме Explorera и Shell, они на C++ ).
 Ещё минус, что вне НТ сей фокус "усушки" КОЛа не прокатит, он позиционируется как 95+ совместимый.

ВОПРОС? Стоит ли игра свеч?

 З.Ы. все эти библиотеки загружены в память и активно используются большинством MS-экзешников. Смотрите Таблицы Импорта. А чем наши прогыши хуже?!


D[u]fa   (2007-11-23 12:45:00) [1]

хз по моему ваще никакого смысла нету.. мб в каком то узконпаравленном приложение будет резон


homm   (2007-11-23 11:47:00) [2]

> [0] ntg13 ©   (23.11.07 01:12)
> Ещё минус, что вне НТ сей фокус "усушки" КОЛа не прокатит,
> он позиционируется как 95+ совместимый.

Ну вот ты сам и ответил :)


thaddy   (2007-11-23 11:30:00) [3]

msvcrt.dll = C runtime library for MS C. http://rvelthuis.de/zips/msvcrt.zip
I use that with KOL sometimes


Наверх

Титульная страница Поиск, карта сайта Написать письмо