http://baalexxx.livejournal.com/ ([identity profile] baalexxx.livejournal.com) wrote in [community profile] useless_faq2005-08-09 12:01 am

(no subject)

Можно ли создать экзешник, который запускается и в Windows, и в Linux?

[identity profile] cyberbobs.livejournal.com 2005-08-09 04:19 pm (UTC)(link)
В общем случае - нельзя.

Дело в том, что "экзешник" - чисто мелкософтовский формат файла. Который содержит в себе не только код, но и ресурсы (иконки, формы и т.д.), и, думается мне, массу прочей дряни (если честно, в MSDN лезть лень). Это не относится к COM-файлам, которые представляют собой чистый код без каких-то стандартных полей. Под них - много выпендривались те же демосценеры :) Например, существуют старые intro, которые работали и под *nix, и под DOS, и под OS/2.

Как было упомянуто выше, вполне возможно совместить DOS и Windows-программы, на демосцене, опять же, была парочка таких примеров. Но это - исключительно из-за того, что формат исполняемого файла - Portable Executable. То есть он, конечно, различается значительно, но всё равно ограниченно похож и ограниченно совместим.

У *nix-подобных ОС свои форматы исполняемых файлов. Поэтому - нет, не получится, если не использовать интерпретаторы.