Board.KolibriOS.org http://board.kolibrios.org/ |
|
@KERNEL http://board.kolibrios.org/viewtopic.php?f=1&t=3743 |
Page 2 of 2 |
Author: | punk_joker [ Tue Aug 28, 2018 6:49 pm ] |
Post subject: | Re: @KERNEL |
pavelyakov wrote: Автор ни хера не смыслит в программировании просто. - ну ок тебе виднее. Странно, только почему-то работает все.. Работает - это далеко не показатель, особенно в ядерных делах. |
Author: | 0CodErr [ Wed Aug 29, 2018 9:18 am ] |
Post subject: | Re: @KERNEL |
punk_joker wrote: pavelyakov wrote: Автор ни хера не смыслит в программировании просто. - ну ок тебе виднее. Странно, только почему-то работает все.. Работает - это далеко не показатель, особенно в ядерных делах. Правильнее сказать "выполняется какой-то код и по счастливой случайности вроде бы ничего не падает: ни приложение, ни ядро" — по факту же как раз таки НЕ работает. pavelyakov, ты почему-то не хочешь читать, что тебе пишут. Может быть тебе кое-что поможет понять. Возьмём твой же "вроде бы" работающий пример: Code: beginWindow:Для чего тебе копировать вот это Code: dword callback = 0;там ведь изначально никаких нужных данных не содержится!? Может быть тебе всё-таки не копировать нужно, а выделить память? Так, а теперь подумай, как ты будешь к ней адресоваться? Ты ведь заранее не знаешь, что вернёт тебе Code: stdcall kernel_alloc, esiто есть, ты не знаешь, по какому адресу будет загружен твой код и данные(однако приложение собрано с ImageBase 0). Получается, что будет происходить запись не понятно куда и чтение не понятно откуда. Вполне вероятно, что из-за этого могут затереться какие-то данные или код в ядре, а это может привести к чему-то нехорошему(порче пользовательских данных, например, или ещё хуже оборудования). Если было бы всё так просто, то и не выдумывали бы ни какие релокации, а они нужны. Вот, к примеру, процедура fix_coff_relocs http://websvn.kolibrios.org/filedetails ... c#line-786 Как думаешь, для чего она? Или по твоему она лишняя ![]() |
Page 2 of 2 | All times are UTC+03:00 |
Powered by phpBB® Forum Software © phpBB Limited https://www.phpbb.com/ |