Информация об изменениях

Сообщение Re[4]: MVU F# как избежать утечки памяти от 18.10.2023 13:20

Изменено 18.10.2023 13:26 Serginio1

Re[4]: MVU F# как избежать утечки памяти
Здравствуйте, Sinclair, Вы писали:

S>> Да помню там для функции вызова нужно было передавать статическую функцию. А в Delphi все было на объектах. Они передавали ссылку на память динамически созданную в которой self записывался в регистр и вызывалась реальная функция объекта.

S>Очень, очень вряд ли. В более-менее все места WinAPI, где используются callback-и, есть возможность передать пользовательский параметр, и его передадут при обратном вызове.
S>Поэтому примерно все ООП-шные библиотеки туда передают адрес объекта. Callback обрабатывается статической функцией, которая достаёт из аргумента адрес объекта, и уже на нём вызывает виртуальный метод.
S>Но я, конечно же, всего знать не могу, потому было бы интересно на такое посмотреть. Особенно с учётом NX-флагов и прочей современщины.
Ну возможно и апи разные. Я то еще в конце 20 века это все анализировал. При чем они память создавали и как то её еще и помечали.
Re[4]: MVU F# как избежать утечки памяти
Здравствуйте, Sinclair, Вы писали:

S>> Да помню там для функции вызова нужно было передавать статическую функцию. А в Delphi все было на объектах. Они передавали ссылку на память динамически созданную в которой self записывался в регистр и вызывалась реальная функция объекта.

S>Очень, очень вряд ли. В более-менее все места WinAPI, где используются callback-и, есть возможность передать пользовательский параметр, и его передадут при обратном вызове.
S>Поэтому примерно все ООП-шные библиотеки туда передают адрес объекта. Callback обрабатывается статической функцией, которая достаёт из аргумента адрес объекта, и уже на нём вызывает виртуальный метод.
S>Но я, конечно же, всего знать не могу, потому было бы интересно на такое посмотреть. Особенно с учётом NX-флагов и прочей современщины.
Ну возможно и апи разные. Я то еще в конце 20 века это все анализировал. При чем они память создавали и как то её еще и помечали.

Они так же и для Com интерфейсов делали c корректировкой на реальные методы