Народ, написал прогу "задача о восьми ферзях" , сделал на двойном статическом массиве чаров через бэктрекинг. Как сделать на битах, не догоняю. Подскажите, пожалуйста!!! Если нужен листинг, то скину.
Народ, написал прогу "задача о восьми ферзях" , сделал на двойном статическом массиве чаров через бэктрекинг. Как сделать на битах, не догоняю. Подскажите, пожалуйста!!! Если нужен листинг, то скину.
Зависит от ос и окружения, не везде в юзерспейсе можно маркануть страницы как executable. Но вцелом именно так и работает джит. Ты грузишь текст или ir, выделяешь память, пишешь туда результат компиляции, маркаешь на выполнение и джампаешься. С бинарем надо просто правильно его загрузить, а так тоже самое.
Я насколько знаю даже есть llvm jit и он байткод специальный на лету преобразует тоже, я так понимаю возможность страницы помечать как исполняемые ещё и от архитектуры зависит?
Ну все архитектуры что я знаю поддерживают разделение памяти на code/data, просто иногда ОС не дает приложениям меня executable статус у памяти. Такое например на игровых консолях происходит. Поэтому там джит невозможен например.
Ну все архитектуры что я знаю поддерживают разделение памяти на code/data, просто иногда ОС не дает приложениям меня executable статус у памяти. Такое например на игровых консолях происходит. Поэтому там джит невозможен например.
Jit я так понимаю ещё предполагает модификацию на лету в зависимости от результатов прошлого выполнения. Тогда нужно ещё и менять страницы кода