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

158
24

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


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


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


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

спросил(а) 2011-01-05T06:10:00+03:00 9 лет, 6 месяцев назад
1
Решение
186

Это неверно.


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


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

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


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

ответил(а) 2011-01-05T06:16:00+03:00 9 лет, 6 месяцев назад
55

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

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

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

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

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

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