Конференция "KOL" » kol + msvcrt + ntdll ??? [Delphi, Windows]
 
  • ntg13 © (23.11.07 01:12) [0]
    Цель использования КОЛа - уменьшить код прилад. Для этого применяются уже привычные ухищрения, вроде написания функций 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-экзешников. Смотрите Таблицы Импорта. А чем наши прогыши хуже?!
  • thaddy (23.11.07 11:30) [1]
    msvcrt.dll = C runtime library for MS C. http://rvelthuis.de/zips/msvcrt.zip
    I use that with KOL sometimes
  • homm © (23.11.07 11:47) [2]
    > [0] ntg13 ©   (23.11.07 01:12)
    > Ещё минус, что вне НТ сей фокус "усушки" КОЛа не прокатит,
    > он позиционируется как 95+ совместимый.

    Ну вот ты сам и ответил :)
  • D[u]fa (23.11.07 12:45) [3]
    хз по моему ваще никакого смысла нету.. мб в каком то узконпаравленном приложение будет резон
 
Конференция "KOL" » kol + msvcrt + ntdll ??? [Delphi, Windows]
Есть новые Нет новых   [134431   +10][b:0][p:0]