Вверх ↑
Ответов: 2059
Рейтинг: 131
#1: 2011-10-24 15:12:44 ЛС | профиль | цитата
andrestudio
Мельком глянул, сплошное API похоже, могу порекомендовать purebasic для этих целей, делает маленькие

Делал сравнения, пузырьковую сортировку большого массива.
11 минут 37 секунд против 1 минута 57 секунд, разница ощутима.
Но колесо конечно не надо изобретать. Нашел готовую систему и очень быструю http://spf.sourceforge.net/
Вполне подходит для скриптового языка. То же самое делает за 48 секунд.
Сложность в интеграции состоит в том, что сам себя компилирует и надо тащить в объектный код и само ядро вместе со всяким мусором. Пока разобрался, как сделать из него dll (пока COFF)(тоже оказалось не просто ).
Попробую сделать элемент "вставка скрипта", правда придётся за собой таскать и DLL.
смотри исходники компонентов usedll, calldll

В выходные занимался, вроде бы понял, только теоретически, до практики руки не дошли.
С calldll вопросов вроде бы не возникает, а вот usedll надо пробовать.
Буду задавать вопросы.
------------ Дoбавленo в 15.12:
andrestudio
сплошное API похоже

Не правильно.
API это чемодан, который тяжело таскать, а выбросить жалко.
Главное там адресный процессор:
Callr: pop eax ; Новый указатель команды

xchg eax, esi ; Получим адрес возврата
stosd ; и сохраним его в стеке возвратов.
Next



_Next: lodsd ; Считаем в регистр EAX адрес следующего слова,

; которое надо выполнить.

Jmp eax ; И передадим управление этому слову

_Exit: sub edi, 4 ; Передвинем указатель стека возвратов.

mov esi, [edi] ; восстановим адрес следующей команды.
Next ; продолжим выполнение программы.
Все примитивы на ассемблере, обмен данными через стек.

карма: 6

0