Форум: "Прочее";
Текущий архив: 2006.02.12;
Скачать: [xml.tar.bz2];
ВнизЧем *.exe отличается от *.com? Найти похожие ветки
← →
rts111 © (2006-01-23 19:01) [0]Можно-ли в Delphi сделать *.com?
← →
Exciter © (2006-01-23 19:03) [1]А зачем тебе это ???
← →
VirEx © (2006-01-23 19:04) [2]
> Чем *.exe отличается от *.com?
тремя буквами
← →
rts111 © (2006-01-23 19:05) [3]Так я и думал, что первый ответ будет такой.
← →
VirEx © (2006-01-23 19:05) [4]формат com это образ программы, памяти
формат exe можешь посмотреть на http://wasm.ru, поищи статью
← →
rts111 © (2006-01-23 19:08) [5]А можно в Delphi сделать *.com?
← →
umbra © (2006-01-23 19:37) [6]нет.
← →
Zeqfreed © (2006-01-23 19:38) [7]Исполняемые файлы com-формата могут содержать только одну секцию размером до 64 Кб и имеют отличный от PE-формата заголовок. AFAIK.
← →
VirEx © (2006-01-23 19:41) [8]
> [7] Zeqfreed © (23.01.06 19:38)
не имеют заголовка, или я чайник? это образ памяти, с первого байта идёт код программы
← →
Zeqfreed © (2006-01-23 20:10) [9]VirEx © (23.01.06 19:41) [8]
Знаешь, в английском языке перед каждым существительным обязательно присутствие артикля. Их бывает три вида: определенный, неопределенный и нулевой. ;)
← →
PVOzerski © (2006-01-23 20:21) [10]com под Win32 - это вообще нонсенс. Но даже на TurboPascal для DOS такое было не сделать. Припоминаю, что это, каждется, было связано с размещением кода и данных в разных сегментах. И, надо сказать, не так уж эта невозможность и мешала. Умельцы делали в EXE-формате сверхминиатюрные TSR и даже драйверы для config.sys.
← →
PVOzerski © (2006-01-23 20:21) [11]com под Win32 - это вообще нонсенс. Но даже на TurboPascal для DOS такое было не сделать. Припоминаю, что это, каждется, было связано с размещением кода и данных в разных сегментах. И, надо сказать, не так уж эта невозможность и мешала. Умельцы делали в EXE-формате сверхминиатюрные TSR и даже драйверы для config.sys.
← →
Anatoly Podgoretsky © (2006-01-23 20:26) [12]rts111 © (23.01.06 19:08) [5]
Можно, только весь образ тебе придется писать самому.
← →
sniknik © (2006-01-23 20:46) [13]первое весь "com" располагается весь(должен) в одном сегменте, в отличие от "exe".
и второе первой командой в нем всегда идет ORG 100H (сдвиг на размер заголовка. это в asm. команда в машинную не транслируется)
по моему все, больше принципиальных отличий нет ;). и даже вроде один сегмент не мешал делать "com"-ы больше 64kb, т.к. это только при старте es,ds,cs,ss получали одно значение, ничего после не мешало изменить их и например назначить ds(данные) за границу 64kb (а загружался файл в память полностью всегда) и "увидеть" приписанные сверх 64kb данные.
← →
TUser © (2006-01-23 20:49) [14]Можно - в hex редакторе набери CD 20 - это минимальная com-программа под win. Она делает только одно - завершает свою работу.
← →
GuAV © (2006-01-23 21:47) [15]
> Можно - в hex редакторе набери CD 20 - это минимальная
> com-программа под win. Она делает только одно -
> завершает свою работу.
Нет, это под дос, под win не бывает [10]
← →
TUser © (2006-01-23 22:30) [16]
> GuAV © (23.01.06 21:47) [15]
??
Такой файл спокойно можно запустить на выполнение, и он действителньо просто завершит свою работу и все. Я так понимаю, можно прописать действия любой сложности, или нет?
← →
DrPass © (2006-01-23 22:35) [17]
> Я так понимаю, можно прописать действия любой сложности,
> или нет?
Человек - не может. Машина может, для того и придуманы компиляторы.
← →
isasa © (2006-01-24 01:26) [18]PVOzerski © (23.01.06 20:21) [10]
Но даже на TurboPascal для DOS такое было не сделать.
Я, наверное, совсем старый. В COM-файлы(и только в COM) компилировались Turbo Pascal v.3, с версии 4 "пошел" EXE-формат. Преобразование системными утилитами (EXE2BIN, кажется).
← →
Германн © (2006-01-24 02:32) [19]
> isasa © (24.01.06 01:26) [18]
>
> PVOzerski © (23.01.06 20:21) [10]
> Но даже на TurboPascal для DOS такое было не сделать.
> Я, наверное, совсем старый. В COM-файлы(и только в COM)
> компилировались Turbo Pascal v.3, с версии 4 "пошел" EXE-
> формат. Преобразование системными утилитами (EXE2BIN, кажется).
>
Если ты действительно "старый", то уж во всяком случае "не один такой". Нас тут много! :-)
А в остальном ты прав. TP версий 3.х и сами работали в модели 64К и компиллировали программы именно в ней. Начиная с версии ТР 4.0 и сам ТурбоПаскаль и программы скомпиллированные в нём перешли на "EXE-формат". Но, имхо, утилитой EXE2BIN можно было преобразовать далеко не любой файл.
← →
Джо © (2006-01-24 06:17) [20]> [19] Германн © (24.01.06 02:32)
> Но, имхо, утилитой EXE2BIN
> можно было преобразовать далеко не любой файл.
Как минимум
1. Не должно быть сегмента Stack
2. Ну, и барьер код+данные должны влазить в 64 кб.
Кстати, с удивлением только что обнаружил, что утилита exe2bin входит в дистрибутив WinXP :^)
← →
Desdechado © (2006-01-24 13:16) [21]> Можно-ли в Delphi сделать *.com?
Можно. Создать EXE и переименовать в COM. При запуске все равно формат винда проверяет и стартует его нужным образом.
← →
VirEx © (2006-01-24 15:38) [22]
> [9] Zeqfreed © (23.01.06 20:10)
> VirEx © (23.01.06 19:41) [8]
> Знаешь, в английском языке перед каждым существительным
> обязательно присутствие артикля. Их бывает три вида: определенный,
> неопределенный и нулевой. ;)
ты это о чем, полиглот?
← →
Zeqfreed © (2006-01-24 17:41) [23]VirEx © (24.01.06 15:38) [22]
Так, о глупостях всяких. Не засоряй этим голову.
Страницы: 1 вся ветка
Форум: "Прочее";
Текущий архив: 2006.02.12;
Скачать: [xml.tar.bz2];
Память: 0.5 MB
Время: 0.041 c