Перейти к содержимому


Фото

Испрользование FindFirstFile() в ARM Assembler под Windows Mobile


  • Чтобы отвечать, сперва войдите на форум
Нет ответов

#1 vovichek62

vovichek62

    Newbie

  • Members
  • Фишка
  • 1 Сообщений:

Опубликовано 02.03.2010 - 14:58

Обратил внимание, что при компилировании обращения к функции FindFirstFile() с любого языка высокого уровня компилятор автоматически добавляет в код следующее:

- перед вызовом FindFirstFile() читается некий адрес в памяти, по которому изначально находится число 0хВ064, и прочитанное значение сохраняется в стеке.

- после завершения цикла FindFirstFile() / FindNextFile() / FindClose() это сохраненное в стеке значение сравнивается с текущим значением по этому же адресу и в зависимости от результата сравнения выполняются некоторые действия, смысла которых я не понимаю. Предполагаю, что это каким-то образом связано с сохранением/восстановлением текущей директории (только если это так, то делается это весьма странно).

Вопросы:

1. Что это за адрес и что это за начальное значение 0хВ064?

2. С какой целью выполняются эти дополнительные действия?

2. Являются ли эти действия обязятельными при вызове связки FindFirstFile() / FindNextFile() / FindClose() или выполняются по мере необходимости?






0 пользователей читают эту тему

0 members, 0 guests, 0 anonymous users