Является ли язык PHP результирующим C?

136
19

Хорошо: я редактировал свой вопрос: Я где-то слышал, что php-язык написан на C.


Итак, что происходит, например, когда вы запускаете функцию в php, например date("Ymd"); или file_get_contents("file.txt");?


Переводит ли этот код на C и запрашивает сервер, или делает php?


И если он переводит его и запрашивает, значит, в основном это C?

спросил(а) 2011-01-05T06:10:00+03:00 8 лет, 11 месяцев назад
3
Решение
155

Это неверно.


Если вы имеете в виду язык PHP, он реализован в C, а не С++; см. страницу wikipedia PHP в разделе Язык реализации.


Это, однако, не означает, что он "переводит" код на C; PHP - интерпретируемый язык.

При выполнении кода он, конечно, должен использовать функции, написанные на C, так как сам он использует C. Однако никакого "перевода" на C не происходит; код просто анализируется языком PHP, а затем он сам вызывает то, что подходит.


Возможно, вы захотите прочитать больше на интерпретируемых языках, что должно дать вам лучшее понимание.

ответил(а) 2011-01-05T06:16:00+03:00 8 лет, 11 месяцев назад
Еще 2 ответа
45

Оригинальный PHP - очень тривиальный интерпретатор, который не выполняет никакого генерации кода. Но есть альтернативная реализация, компилятор PHP на С++ HipHop:

https://github.com/facebook/hiphop-php

ответил(а) 2011-01-05T12:48:00+03:00 8 лет, 11 месяцев назад
34

В любом интерпретируемом языке синтаксис языка является просто оболочкой для функций и конструкций, реализованных на языке, на котором написан интерпретируемый язык.

ответил(а) 2011-01-05T06:19:00+03:00 8 лет, 11 месяцев назад
Ваш ответ
Введите минимум 50 символов
Чтобы , пожалуйста,
Выберите тему жалобы:

Другая проблема