Так вы каждый вызов будете класть в стек дополнительно два параметра (на х86). А вот под Linux на её фс еще и кольцевые ссылки надо обрабатывать...
Ничего не имею против этого кода и он даже в Lazarus реализован кроссплатформенно. Но вот антивирусы на именно эту процедуру почему то будут...
Значит так. Для каждой нити/ветви/thread система резервирует SizeOfStackReserve блок адресов. А вот выделяет она сразу только SizeOfStackCommit...
1) Для этого есть отладчик. Просто переключитесь на Debug версию 2) У вас в EnergyNN.pas function TNeuralNetwork.Train(Input: DynAR2; Expected:...
У него скачалась только 1 часть из 8 (каждый 8ой бит).:derisive:
Там же четко и ясно написано, что Access Violation 0xС0000005 - т.е. обращение по адресу где нету страницы памяти|обращение к не выравненным...
Просто уберите 0 и посмотрите. В крайнем случае можно от ноль-терминатора перейти к длинам ; fasm1 section '.data' data ... a db 'abracadabra'...
Так не выйдет. Тут вы манипулируете данными полностью самостоятельно. То что можно задать сложную константу как один параметр и она будет собрана...
Еще надо использовать расширенный вариант макросов. С include 'win(32|64)(a|w).inc' это работать не будет. Только с include 'win(32|64)(a|w)x.inc'
; fasm1 format PE include 'win32ax.inc' section '.idata' import data readable writeable library kernel32, 'kernel32.dll', user32, 'user32.dll'...
Если и будут проблемы с производительностью, то это уже не из-за буфера(ов). Избыточная сихронизация (куча мест, в которых простаивают...
Тогда в чем проблема. Пускай обращаются. Зачем разбивать? Раздайте всем по собственному указателю на свой участок и пускай сидят в одном буфере....
В заголовке PE https://learn.microsoft.com/en-us/windows/win32/debug/pe-format#optional-header-windows-specific-fields-image-only...
Добавлю. Отладчик есть даже в IDA, откуда все эти скрины
; fasm1 @@: mov al, 0x48 sub al, cl mov byte ptr a+4, alА вместо ecx лучше ebx или добавить push/pop до и после invoke Вариант 2; fasm1 @@: mov...
Имена участников (разделяйте запятой).