Re[3]: Несколько замечаний по поводу качества кода
От: TSS_TSS http://kitrap08.blogspot.com/
Дата: 20.11.15 15:15
Оценка:
Здравствуйте, EreTIk, Вы писали:

TSS>>Эти две функции объявлены как NTKERNELAPI(DECLSPEC_IMPORT), поэтому генерация пролога для них это необходимость соблюдения стандартов(и да, это идет в ущерб оптимизации).

ETI>Про какие стандарты идет речь? Стандарт вызова функций говорит только о передачи параметров, но не заставляет генерировать пролог функции.

ETI>Эта же функция, но в Win10 x86 (10.0.10240.16384):

ETI>
ETI>.00454965: CCCCCCCCCCCCCCCCCCCCCC         int          3
ETI>IoFreeIrp: FF2510106700                   jmp          d,[pIoFreeIrp]
ETI>.00454976: CCCCCCCCCCCCCCCCCCCC           int          3
ETI>


Да, вероятно я не прав насчет стандарта. Тем не менее, по умолчанию компилятор всегда лепит пролог, если явно не указать ему этого не делать. В сорцах win10 видимо явно указана директива __declspec(naked).
http://kitrap08.blogspot.com/
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.