Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2006.02.12;
Скачать: CL | DM;

Вниз

Чем *.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;
Скачать: CL | DM;

Наверх




Память: 0.52 MB
Время: 0.051 c
2-1138054140
DenXi
2006-01-24 01:09
2006.02.12
TService и че с ним делать


15-1137787214
Ксардас
2006-01-20 23:00
2006.02.12
Надеюсь Вам понравиться... ))))


1-1137335863
Compton's G
2006-01-15 17:37
2006.02.12
Проблема HKEY и сети


15-1138065996
vidiv
2006-01-24 04:26
2006.02.12
Проблема с HTML


1-1136791731
beglec
2006-01-09 10:28
2006.02.12
Долгое копирование потока. Как решить?