Каково различие между ассемблерным кодом и байт-кодом?

Один путь состоит в том, чтобы расширить определенное управление, которое Вы хотите к двойному буферу и устанавливаете свойство DoubleBuffered в ctor управления.

, Например:

class Foo : Panel
{
    public Foo() { DoubleBuffered = true; }
}
23
задан jldupont 23 November 2009 в 11:10
поделиться

5 ответов

Ассемблерный код обычно означает читаемую человеком форму машинного языка (так называемый машинный язык). Байт-код, с другой стороны, обычно является языком, который может быть интерпретирован интерпретатором байтового кода - так что это не родной язык процессора.

Почему тогда возникает путаница? Таким образом нельзя сравнивать язык ассемблера с байтовым кодом. Конечно, байт-код также может иметь ассемблерный код - что означает его читабельную форму, потому что «язык ассемблера» не обязательно означает, что он предназначен для реальной машины - но это читабельная форма некоторого родного языка. - для процессоров этим родным языком является машинный код - но вы также можете иметь ассемблерный код псевдо- (или интерпретируемой) машины, такой как байт-код.

См. также: Язык ассемблера

Конечно, приходят и другие проблемы - как вы можете видеть из всех обсуждений здесь - потому что ИТ-специалисты (в том числе и я), как правило, небрежны в формулировках. Говоря о машинном коде, часто используют «язык ассемблера». Это, конечно, не совсем правильно, потому что язык ассемблера - это только удобочитаемая форма кода некоторых машин.

11
ответ дан 29 November 2019 в 03:08
поделиться

Ассемблерный код обычно используется для обозначения кода, который после компиляции в Машинный код может выполняться центральным процессором, а байт-код в виртуальной машине.

Источник путаницы по поводу CIL может быть связан с тем фактом, что машинный код для ЦП X может быть интерпретирован виртуальной машиной, работающей на ЦП Y (например).

Обратите внимание , что реализация виртуальной машины может быть создана для интерпретации любого машинного кода и / или байт-кода: это оставлено на усмотрение разработчиков и их стремления (и время в их руках); -)

2
ответ дан 29 November 2019 в 03:08
поделиться

Ассемблер - это макроязык. Это набор инструкций, используемых для управления процессором или другим устройством. Он транслируется в машинный код, который является читаемым ЦП инструкциями.

Байтовые коды - это инструкции для виртуальной машины, которые должны быть интерпретированы и все еще должны быть переведены в машинный код перед выполнением.

0
ответ дан 29 November 2019 в 03:08
поделиться

Собранный код может выполняться на ЦП с определенным набором инструкций, а байт-код может выполняться на виртуальной машине (например, в среде выполнения Java) на любом ЦП, на котором может работать виртуальная машина. .

0
ответ дан 29 November 2019 в 03:08
поделиться

Ассемблерный код представляет собой (представляет) собственный код для процессора, который вы программируете.

Байт-код - это термин для двоичная версия «команд», которые компилируются для выполнения интерпретатором или виртуальной машиной.

По сути, байт-коды определяют коды операций для виртуального процессора, а сборка состоит из кодов операций физического процессора. (мы пока проигнорируем микрокод внутри процессора :-))

По сути, байт-коды определяют коды операций для виртуального процессора, а сборка состоит из кодов операций физического процессора. (мы пока проигнорируем микрокод внутри процессора :-))

По сути, байт-коды определяют коды операций для виртуального процессора, а сборка состоит из кодов операций физического процессора. (мы пока проигнорируем микрокод внутри процессора :-))

-1
ответ дан 29 November 2019 в 03:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: