Size: a a a

pro.osdev - os development

2021 December 02

d

disba1ancer in pro.osdev - os development
но это жопа...
источник

NK

Nickolay Kononov in pro.osdev - os development
он во время сборки это делает
источник

NK

Nickolay Kononov in pro.osdev - os development
ну не знаю можно ли лучше, я с таким подходом знаком т.к. только эти ос читаю
источник

NK

Nickolay Kononov in pro.osdev - os development
напиши макрос который будет вставлять эту функцию на ассемблере и дальше будет чет типа
DEFINE_HANDLER(1)
DEFINE_HANDLER(2)
DEFINE_HANDLER(3)
...
а define handler просто будет объявлять функцию handler##number которая кладет number на стек и вызывает общий all_trap_handler
источник

NK

Nickolay Kononov in pro.osdev - os development
вроде по-минимому копипасты
источник

BD

Berkus Decker in pro.osdev - os development
Ну это меньше всего копипасты и выходит, чем эти хендлеры плодить
источник

d

disba1ancer in pro.osdev - os development
Хотелось бы вообще без копипасты
источник

W

Wild_Wind in pro.osdev - os development
Use codegen, luke!
источник

d

disba1ancer in pro.osdev - os development
Это говорит о том что всё очень плохо...
источник

W

Wild_Wind in pro.osdev - os development
Почему плохо юзать кодген?
Описал в yaml, накорябал генератор за вечерок, и всё готово.
источник

BV

Boris Vinogradov in pro.osdev - os development
Нет, потому что это не всегда верно
источник

d

disba1ancer in pro.osdev - os development
Что именно не всегда верно?
источник

BV

Boris Vinogradov in pro.osdev - os development
Что кодген это плохо
источник

d

disba1ancer in pro.osdev - os development
Кодоген, не сколько плох, сколько, костылен, но был случай когда для плюсового кода он понадобился, сделал дешёвый вариант на макросах...
источник

W

Wild_Wind in pro.osdev - os development
Лучше внешнюю тулзу, хоть на том же питоне, чем на макросах. Потом саппортить такое больно.
источник

DF

Dollar Føølish in pro.osdev - os development
да, макросы боль
источник

DF

Dollar Føølish in pro.osdev - os development
можно хоть на yacc наверное или как его
источник

d

disba1ancer in pro.osdev - os development
Там относительно простой случай, просто копипаста кода с разными cv квалификаторами
источник

BV

Boris Vinogradov in pro.osdev - os development
Он не костылен это просто форма работы с генерацией нужных форм, или ты регистры железки в хедере сам ручками описываешь?
источник

W

Wild_Wind in pro.osdev - os development
А, ну так это плюсы. Тут только страдать. Некоторые хидеры буста под 50мб весят. Один файл.
источник