Size: a a a

2020 May 13

АК

Александр Караев... in pro.cxx
zeroid
Черная магия прям, вот интересно, а какие вообще системные механизмы (апи) используются для реализации корутин?
так вроде ж корутины компилятором преобразуются в FSM без особых проблем, хотя наверное для оптимизаций нужны какие-то ОС-специфичные вещи
источник

AZ

Alexander Zaitsev in pro.cxx
да
источник

z

zeroid in pro.cxx
Александр Караев
так вроде ж корутины компилятором преобразуются в FSM без особых проблем, хотя наверное для оптимизаций нужны какие-то ОС-специфичные вещи
Нашел вот это https://probablydance.com/2013/02/20/handmade-coroutines-for-windows/
Выглядит реально страшно
источник

VO

Vyacheslav Olkhovche... in pro.cxx
Александр Караев
так вроде ж корутины компилятором преобразуются в FSM без особых проблем, хотя наверное для оптимизаций нужны какие-то ОС-специфичные вещи
да вроде нифига у тебя так не выйдет.
нужно еще что-то типа setjmp/longjmp приделывать для игр со стеком.
но от шедулера дополнительная поддержка не требуется.
источник

IA

Igor Akhmetov in pro.cxx
Vyacheslav Olkhovchenkov
да вроде нифига у тебя так не выйдет.
нужно еще что-то типа setjmp/longjmp приделывать для игр со стеком.
но от шедулера дополнительная поддержка не требуется.
Что за игры со стеком?
источник

VO

Vyacheslav Olkhovche... in pro.cxx
сохранить/востановить/переставить.
в чем вопрос-то?
источник

IA

Igor Akhmetov in pro.cxx
Vyacheslav Olkhovchenkov
сохранить/востановить/переставить.
в чем вопрос-то?
Зачем и конкретно в каком месте нужен setjmp/longjmp? Стековые данные которые нужно сохранить между вызовами корутины лежат в отдельном объекте в хипе если компилятор не смог их соптимизировать.
источник

VO

Vyacheslav Olkhovche... in pro.cxx
что-то я сомневаюсь что автоматические переменные можно успешно размещать на хипе.
источник

AZ

Alexander Zaitsev in pro.cxx
Vyacheslav Olkhovchenkov
что-то я сомневаюсь что автоматические переменные можно успешно размещать на хипе.
а в чём проблема?
источник

IA

Igor Akhmetov in pro.cxx
Vyacheslav Olkhovchenkov
что-то я сомневаюсь что автоматические переменные можно успешно размещать на хипе.
Другого варианта просто нет без поддержки каких-то кастомных аллокаторов, где их еще размещать?
источник

VO

Vyacheslav Olkhovche... in pro.cxx
Alexander Zaitsev
а в чём проблема?
в переменном размере
источник

ПК

Побитый Кирпич... in pro.cxx
Vyacheslav Olkhovchenkov
в переменном размере
У "автоматических" переменных как раз размер известен, так что тут проблем нет
источник

AZ

Alexander Zaitsev in pro.cxx
Vyacheslav Olkhovchenkov
в переменном размере
на стеке размер знаешь. сколько надо размера, столько на хипе выделил и там их припрятывай
источник

K

Kirill in pro.cxx
Какой либой можно конвертнуть несколько RGB картинок в mp4 видео?
источник

VO

Vyacheslav Olkhovche... in pro.cxx
что-то я сейчас читаю cppreference и у меня складывается впечетление что нельзя дергать хиповый аллокатор если переменная автоматическая.
источник

VO

Vyacheslav Olkhovche... in pro.cxx
ну и да, согласно стандарту писать int x[n] будет ошибкой, но и гнусь и шланг это поддерживают.
источник

DC

Denis Chernikov in pro.cxx
Vyacheslav Olkhovchenkov
ну и да, согласно стандарту писать int x[n] будет ошибкой, но и гнусь и шланг это поддерживают.
Это VLA, в стандарте Си есть такое)
Чтобы не разрешать такое в плюсах (где такого нет) — -pedantic или /permissive-
источник

VO

Vyacheslav Olkhovche... in pro.cxx
а вот если бы у рыб была шерсть, то у них были бы блохи! а блохи...
источник

IA

Igor Akhmetov in pro.cxx
Vyacheslav Olkhovchenkov
ну и да, согласно стандарту писать int x[n] будет ошибкой, но и гнусь и шланг это поддерживают.
fatal error: error in backend: Coroutines cannot handle non static allocas yet
источник

F

Fedor in pro.cxx
Nikita Provotorov
Есть в рамках C++03 какой-нибудь SFINAE способ проверить что функция с определенным именем существует и ее можно вызвать?)
источник