Какое расширение у файла с машинным кодом?

Ответ

У файла с машинным кодом (нативным исполняемым файлом) нет единого стандартного расширения — оно зависит от операционной системы и формата файла.

Основные примеры:

  • Windows: .exe (исполняемый), .dll (динамическая библиотека), .sys (драйвер)
  • Linux/Unix: обычно без расширения, но может быть .bin или .so (shared object)
  • macOS: .app (папка-приложение), .dylib (динамическая библиотека)

Ключевое отличие: Машинный код — это бинарные инструкции для конкретного процессора, в отличие от исходного кода (.java, .py, .cpp) или байт-кода (.class в Java).

Ответ 18+ 🔞

А, ну это классика, блядь! Приходит такой новичок, смотрит на файл без расширения в линуксе и думает: "Чё за хуйня? Текстовый, что ли?" А это, сука, и есть та самая готовая программа, которая прямо в процессор ляжет, как родная!

Смотри, тут всё просто, но охуенно запутанно, потому что у каждой операционки свои приколы, блядь.

Вот тебе расклад по полочкам:

  • Винда, наша мать: Там всё по-понятному, с ярлычками. .exe — это святое, исполняемый файл, тыкнул дважды и понеслась. .dll — это такие библиотечки, куски кода, которые .exe подгружает, как водку к закуске. .sys — это уже серьёзные ребята, драйверы, которые в самое ядро системы лезут.
  • Линукс/Юникс: А вот тут, сука, цирк! Чаще всего у нативных программ вообще нет расширения. Просто файл с каким-нибудь названием. И он исполняемый, ёпта! А если уж очень хочется пометить, то иногда .bin сыпят. .so — это аналог виндовых .dll, shared object, библиотека общая.
  • Маки (macOS): Ну, эти ребята тоже оригинальничают. .app — это вообще не файл, а хитрая папка-контейнер, которую система тебе как программу показывает. А .dylib — ихняя версия динамической библиотеки, чтобы код между программами таскать.

А теперь главное, чтобы в голове не еб...лось: Весь этот машинный код — это не текст. Это уже конечный, приготовленный продукт. Ты не откроешь его блокнотом и не прочитаешь (ну, кроме совсем уж извращенцев с дизассемблерами). Это прямые команды для процессора: "возьми то, сложи с этим, положи туда". Совсем другая кухня, чем исходники на Python (.py) или Java-байткод (.class), который ещё виртуальная машина жуёт.

Короче, расширение — это просто этикетка на бутылке. А то, что внутри — уже готовая самогонка для процессора.