На главную Наши проекты:
Журнал   ·   Discuz!ML   ·   Wiki   ·   DRKB   ·   Помощь проекту
ПРАВИЛА FAQ Помощь Участники Календарь Избранное RSS
msm.ru
! Перед отправкой сообщения внимательно прочтите правила раздела!!!
1. Запрещается обсуждать написание вирусов, троянов и других вредоносных программ!
2. Помните, что у нас есть FAQ раздела Assembler и Полезные ссылки. Посмотрите, возможно, там уже имеется решение вашего вопроса.

3. Настоятельно рекомендуем обратить особое внимание на правила форума, которые нарушаются чаще всего:
  3.1. Заголовок темы должен кратко отражать её суть. Темы с заголовками типа "Срочно помогите!" или "Ассемблер" будут отправляться в Корзину для мусора.
  3.2. Исходники программ обязательно выделяйте тегами [code]...[/code] (одиночные инструкции можно не выделять).
  3.3. Нежелательно поднимать старые темы (не обновлявшиеся более года) без веской на то причины.

Не забывайте также про главные Правила форума!

Добро пожаловать и приятного вам общения!!! ;)
 
Модераторы: Jin X, Qraizer
  
> Простой код потребляет много ресурсов , почему?
    Может надо было отдельную микротему, ну да спрошу здесь.
    Запустил шаблонный пример из поставки FASM'а PE64DEMO. Код - показ MessageBox'а под 64-битной виндой. И всё.
    Диспетчер задач показал: памяти выделено 1,5 МБ, дескрипторов 136, потоков 6. После: потоков сократилось до 3, потом до 1 (сейчас 2-1).
    Вопрос(ы): зачем столь много памяти на показ простого стандартного "шаблонного" win-MessageBox'а ??? Зачем столько потоков? Зачем так много дескрипторов?
    Эх...
    Код могу выложить, там 8 команд, 2КБ EXE-шник.

    Эта тема была разделена из темы "На каких ассемблерах вы пишете чаще всего?"
      Защитник, телеметрия, брандмауэр...
        Славян, посмотри через Process Explorer (sysinternals), там видны отдельные треды, дескрипторы и пр. (нажимаешь Ctrl+L, и внизу будет панелька).
          Ну вот: Прикреплённый файлПрикреплённый файлPE64DEMO.PNG (39.76 Кбайт, скачиваний: 20)
          8 МБ, 2 потока для 2-килобайтного приложения с показом MesBox'а... перебор!

          Добавлено
          Блин, а как сделать, чтобы картинка сразу показывалась, без скачивания?..
            Славян, почему перебор? У тебя код, стек, DLL-ки, всякие структуры типа TEB, PEB, heap...
            Дальше вызов MessageBox — это user32.dll и GDI. Читаются настройки из реестра (темы, стили, шрифты, цвета, язык, текст кнопки и пр), создаётся окно с кнопкой и текстом. Обработка сообщений окна.
            Далее, эти 8 МБ — это что? Working Set? Там учитывается shared-память (включая kernel32.dll, user32.dll и пр). Private Bytes, как я понимаю, 1.5 МБ всего (из которых порядка 1 МБ — стек). И это пока ещё не физическая память (а зарезервированная, часть страниц выделено, но не закреплено за физической памятью, т.к. обращений к ним ещё не было; это, например, большая часть стека), физическая — в WS Private Bytes, там будет ещё меньше.

            Цитата Славян @
            Блин, а как сделать, чтобы картинка сразу показывалась, без скачивания?..
            Здесь — никак. Есть кнопка attach, но она не во всех разделах показывает картинку.
              Цитата Славян @
              а как сделать, чтобы картинка сразу показывалась, без скачивания?

              У меня в хроме при нажатии на ссылку картинка открывается сразу. В новой вкладке.
              Сообщение отредактировано: Akina -
                Akina, он хочет, чтобы она прямо в посте видна была.
                  Jin X
                  Да, с этим что-то поломалося.. что забавно - с таким же кодом в старых темах всё отображается как должно быть.
                  Сообщение отредактировано: Akina -
                  1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
                  0 пользователей:


                  Рейтинг@Mail.ru
                  [ Script execution time: 0.0774 ]   [ 16 queries used ]   [ Generated: 14.05.26, 00:45 GMT ]