Re: Как определить является ли файл исполняемым?
Добавлено: 06 окт 2009, 16:43
Согласен. Но что топик-стартеру вообще надо было?
форум программистов
https://www.developing.ru/
Исполяемые - это всё, что с кодом, который можно запустить или непосредаственно, или от имени другого процесса. Так что библиотеки (но только dll) - исполняемые, а баты - нет, так как в них вообще нет кода, а есть только инструкции операционки. Баты - это скорее сценарии. Так что .exe, .com и .dll, но ничего другого.BBB писал(а):Тогда уже еще *.bat, *.cmd
А *.DLL относить к исполняемым?
Это вообще вайлы конвигурации. Ищи те, что имеют код. И научись отличать исполняемые файлы от запускаемых. Запускаемым может быть и вордовый текст, если расширение .doc ассоцировано с редактором. А исполняемые исполняются не другой программой, а процессором. .dll исполняется процессором, хотя непосредственно и не запускается. .com и .exe исполняются процессором и запускаются непосредственно. Всё остально исполняется программами. Если же иметь в виду программны файлы, то это всё, что содержит программы и их фрагменты. Тогда баты, скрипты, файлы с макросами и тому подобные файлы тоже программные. Но документы только с содержанием, но без поведения приложений всётаки не являются программными файлами. К программным же следует отнести и файлы с исходными текстами программ, так что, список расширений растёт до полной необозримости. С исполняемыми проще. В принципе библиотечные файлы можно и не относить к исполняемым на том основании, что они не являются запускаемыми (не могут быть запущены с пользовательского интерфейса операционной системы). Но .com и .exe - всё равно исполняемые. .lib тоже библиотечные, следовательно программные, но не исполняемые, так как для запуска должны внедряться в другие файлы на этапе их (эти других файлов) разработки.somewhere писал(а):А как же SYS, VXD?
Ну хз, загляни на досуге в %windir%\system32\drivers, на 95% файлы SYS по сути те же DLL и хедер у них Portable Executable, загружаются точно также через LoadLibrary ядром ОС. Аналогично могут быть загружены прикладной программой. Тогда давайте уж и DLL тоже к "файлам конфигурации" отнесем, потому как способ загрузки SYS и DLL идентичен. VXD - тоже самое." писал(а):Это вообще вайлы конвигурации.
А в DOSе? Учти, что эти оси односторонне совместимы и попробуй растолковать, как в таком случае винда отличит свои сисы от старых. А то что в LoadLibrarry можно пихать что попало и всё будет работать при условии, что внутри файл всётаки динамический и библиотечный, так это давно известно. Если винде явно указать, чем грузить файл, то она вообще забывает про их типы. Попробуй на досуге переименовать какую-нибудь библиотеку в .txt, а потом учесть переименование в своей приладе." писал(а):%Ну хз, загляни на досуге в %windir%\system32\drivers, на 95% файлы SYS по сути те же DLL
Тогда и .src - исполняемые." писал(а):Вспомил еще, что скрин-сейверы имееют расширение, если правильно помню, *.SCR, но по содержимому это EXE-файл.
Нужно было ровно то, на что я сам позже и ответил. Материал по теме полезный можно посмотреть здесь:_SG писал(а):Согласен. Но что топик-стартеру вообще надо было?