Если C / C ++ являются родными языками, то как их можно использовать на Mac?

0

Я думал, что собственный код был кодом, который был разработан для работы на определенной машине. Так что меня смущает, как можно запустить C/C++ на других платформах и машинах? Единственное, что я могу придумать, это то, что им понадобится совсем другой компилятор, который бы скомпилировал код в код, специфичный для машины. Я просто смущен, когда C/C++ упоминаются как родные языки.

  • 7
    «Единственное, что я могу придумать, это то, что им понадобится совершенно другой компилятор, который скомпилирует код в код, специфичный для машины», - Бинго!
  • 0
    Duh. Да, вам нужен компилятор, ориентированный на набор инструкций процессора, и, в меньшей степени, на модель процесса ОС.
Показать ещё 2 комментария
Теги:
native-code

1 ответ

8

Единственное, что я могу придумать, это то, что им понадобится совсем другой компилятор, который бы скомпилировал код в код, специфичный для машины

Вы ответили на свой вопрос! Компилятор - это часть, которая генерирует машинный код, который целевая платформа понимает и выполняет.

Когда люди говорят "родной язык", они обычно означают, что язык переводится (компилируется) в машинный код, а не в какую-либо промежуточную форму (например, байт-код для Java) или выполняется интерпретатором (например, Perl).

  • 0
    Таким образом, для Java вы можете иметь один и тот же компилятор для всех платформ, поскольку байт-код будет запускаться в JVM, и если JVM создана для этой платформы, то вуаля. Это правильно?
  • 2
    В Java нет собственного компилятора, только бит, который переводит Java в байт-код. JVM написана на родном языке и скомпилирована для целевой платформы. Таким образом, вы можете запускать любую Java-программу на любой платформе, если для этой платформы существует JVM. Сам код Java не зависит от платформы, потому что он исполняется JVM, в которой живут специфичные для платформы вещи.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню