-
Цель использования КОЛа - уменьшить код прилад. Для этого применяются уже привычные ухищрения, вроде написания функций 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-экзешников. Смотрите Таблицы Импорта. А чем наши прогыши хуже?!
-
-
> [0] ntg13 © (23.11.07 01:12) > Ещё минус, что вне НТ сей фокус "усушки" КОЛа не прокатит, > он позиционируется как 95+ совместимый.
Ну вот ты сам и ответил :)
-
хз по моему ваще никакого смысла нету.. мб в каком то узконпаравленном приложение будет резон
|