Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Прочее";
Текущий архив: 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
15-1137823185
begin...end
2006-01-21 08:59
2006.02.12
С Днём рождения! 21 января


2-1138173689
emergency
2006-01-25 10:21
2006.02.12
Литература по работе с сетями


1-1136843189
dmk
2006-01-10 00:46
2006.02.12
Функция из DLL не вызывается


2-1138286031
Neo Trinitron
2006-01-26 17:33
2006.02.12
TDBGridEh. TDBLookupComboBox в гриде. Как сделать?


1-1137485328
medvedenator
2006-01-17 11:08
2006.02.12
ПОМОГИТЕ!!!!





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский