Почему общее количество выполненных команд изменяется в пустой C-программе? - PullRequest
0 голосов
/ 10 июня 2019

Я подсчитывал инструкции, выполняемые пустой программой на C, используя пин-код Intel. Большую часть времени я получаю общее количество команд 118724, но время от времени счет достигает 118770. Что может быть причиной этого изменения?

Выполнение кода: int main() {}

1 Ответ

0 голосов
/ 22 июня 2019

Я чувствую, что @Neitsa ответила на мой вопрос в своем комментарии к оригинальному сообщению. Я процитирую это здесь.

Но будьте осторожны, поскольку ПИН-код запускается очень рано в жизненном процессе, поэтому он начинает инструктировать все, что делает системный загрузчик (в основном в libc). Тот факт, что у вас есть два разных числа команд, вероятно, связан с веткой if / else где-то в коде загрузки ELF (в зависимости от состояния системы в момент времени 't'). Если это вас беспокоит, вы можете ограничить код инструментария собственным двоичным файлом, если хотите.

...