![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
как корректно закрыть программу если отсоед родительский диск?
happynewyear © (2009-01-09 19:25:00)Преветствую! вопрос в теме..
Ega23 (2009-01-13 12:32:00) [1]
> похоже Leonid Troyanovsky © на счет контента был прав :)
Я порнуху на винте храню, на флэшке задолбаешься 40 гиг носить.
happynewyear (2009-01-13 12:26:00) [2]
> Появляется возможность посидеть, чтобы тебя не дёргали каждые
> 5 минут.
похоже Leonid Troyanovsky © на счет контента был прав :)
Ega23 (2009-01-13 11:03:00) [3]
> Если он уже спит, то в чем смысл вставления флешки?
Появляется возможность посидеть, чтобы тебя не дёргали каждые 5 минут.
KSergey (2009-01-13 05:40:00) [4]ну вот, проснулся с ответом, ага...
KSergey (2009-01-13 05:37:00) [5]> Riply © (12.01.09 16:07) [32]
> Не уверена, что exe-файл, всегда загружается в память целиком.
>
> Если это так, то программе, в процессе работы, может потребоваться обращение к нему.
для дочитывания ресурсов, например, как уже говорилось.
Да и вообще exe-файл мапится на память, а не загружается в полном смысле этого слова, так что зависит от соотношения размеров выполняемой части exe и физ. памяти.
Riply (2009-01-13 00:25:00) [6]> [37] Leonid Troyanovsky © (12.01.09 18:20)
> Попробуй, а детали можешь поискать у Д.Рихтера.
> Для C есть, IMHO, и некий ключ для таких PE.
Спасибо.
P.S.
Т.к. заинтересовало, придется посмотреть :)
Leonid Troyanovsky (2009-01-12 19:04:00) [7]
> Ega23 © (12.01.09 13:21) [19]
> Я если и вставляю флэшку в ноут, то только тогда, когда
> ребёнок уже спит.
Если он уже спит, то в чем смысл вставления флешки?
Хотя может, конечно, там контент подходящий :)
--
Regards, LVT.
Leonid Troyanovsky (2009-01-12 18:20:00) [8]
> Riply © (12.01.09 16:07) [32]
> Не уверена, что exe-файл, всегда загружается в память целиком.
Если он грузится с removable, то, для начала, копируется целиком в своп.
То же самое и с dll.
Попробуй, а детали можешь поискать у Д.Рихтера.
Для C есть, IMHO, и некий ключ для таких PE.
--
Regards, LVT.
asail (2009-01-12 18:06:00) [9]
> Riply © (12.01.09 16:07) [32]
> Германн © (12.01.09 17:29) [34]
> clickmaker © (12.01.09 15:38) [29]
Все так! Тока я чего-то сомневаюсь, что здесь речь о чем-то типа Microsoft Visual Studio идет... :)
А, вообще, извратиться всегда можно. Было бы желание! Например, прога-загрузчик запускается с флэшки, копирует исполняемый файл с нее-же куда-либо, там запускает и отмирает... Флэшку можно смело отрубать... Прога работает! Нафига? Это уже не мне вопрос.
clickmaker (2009-01-12 17:54:00) [10]> которому прога обращается через определенные промежутки
> времени, т.е. если его нет - то проге делать нечего
тогда вообще непонятно, в чем проблема... сам же себе и ответил в [18]
Германн (2009-01-12 17:29:00) [11]
> Не уверена, что exe-файл, всегда загружается в память целиком.
В Windows же загрузчик читает лишь заголовок и таблицу импорта файла, а затем проецирует его на адресное пространство процесса так, будто бы файл является частью виртуальной памяти, хранящейся на диске. (Вообще-то, все происходит намного сложнее, но не будем вдаваться в подробности, не относящиеся к делу). Подкачка с диска происходит динамически - по мере обращения к соответствующим страницам памяти, причем загружаются только те из них, которые действительно нужны.
Например, если в текстовом редакторе есть модуль работы с таблицами, он не будет загружен с диска до тех пор, пока пользователь не захочет создать (или отобразить) свою таблицу. Причем неважно - находится ли этот модуль в динамической библиотеке или в основном файле! (Вот и попробуйте после этого сказать, что Windows глупые люди писали!) Загрузка таких "монстров", как Microsoft Visual Studio и Word, как бы "размазывается" во времени и к работе с приложением можно приступать практически сразу же после его запуска
(c) Крис Касперски
Ega23 (2009-01-12 16:27:00) [12]
> Не уверена, что exe-файл, всегда загружается в память целиком.
Розыч нужОн. Саня, ау!!!
Riply (2009-01-12 16:07:00) [13]> [27] asail (12.01.09 15:21)
> А что мешает проге работать если флэшка, с которой она запущена вынута?
> Например, возьми calc.exe (тот что в windows\system32) скопируй на флэшку,
> запусти с нее, вынь флэшку. Работает как миленький...
> Нафига прогу закрывать, если диск вынут?
Не уверена, что exe-файл, всегда загружается в память целиком.
Если это так, то программе, в процессе работы, может потребоваться обращение к нему.
Ega23 (2009-01-12 15:58:00) [14]
> дело в том, что для работы проги нужен некий файл который
> лежит на этом же, пардон, "родительском диске", и к которому
> прога обращается через определенные промежутки времени,
> т.е. если его нет - то проге делать нечего - она должна
> закрыться...
try
Открыть_Некий_Файл_Для_Работы;
except
Завершить_Работу;
end;
happynewyear (2009-01-12 15:40:00) [15]дело в том, что для работы проги нужен некий файл который лежит на этом же, пардон, "родительском диске", и к которому прога обращается через определенные промежутки времени, т.е. если его нет - то проге делать нечего - она должна закрыться...
вот для этого и мониторится сие действие.
приложение, что называется "Portable", и рассчитано для использования по большей части с флешки.
тот файл блокируется от удаления, хотя извратится можно, и удалить не смотря на блокировку, но проще вытащить флешку
p.s. плюсы и минусы и другие недочеты еще изучаются, окончательно еще все не обдумано.
clickmaker (2009-01-12 15:38:00) [16]> Работает как миленький
там ресурсов мало. он все их в память подгрузил и работает
а если ресурсов много, можно их по мере надобности с диска подгружать
antonn (2009-01-12 15:33:00) [17]
> asail (12.01.09 15:21) [27]
наверное по той же причине, почему нельзя удалить запущенную программу :)
asail (2009-01-12 15:21:00) [18]А что мешает проге работать если флэшка, с которой она запущена вынута? Например, возьми calc.exe (тот что в windows\system32) скопируй на флэшку, запусти с нее, вынь флэшку. Работает как миленький...
Нафига прогу закрывать, если диск вынут?
happynewyear (2009-01-12 14:46:00) [19]
> Когда много - это многоточие.
тут тонко подмечено :)
Anatoly Podgoretsky (2009-01-12 14:38:00) [20]
> p.s.3 ну а троеточие - это троеточие :), может их много,
> но никто не идеален :)))
Когда много - это многоточие.