Привет. Потихоньку пишу на c++ интерпретатор своего скриптового языка ksi . Вывод на экран произвожу через std::wcout . В будущем планируется прикрутка к апачу для работы с web. Придётся ли мне переделывать функции вывода в этом случае? Как с этим обстоит дело в php? Его исходники лежат в открытом доступе, но они очень большие и мне не разобраться там.
Здравствуйте, Sm0ke, Вы писали:
S>Привет. Потихоньку пишу на c++ интерпретатор своего скриптового языка ksi . Вывод на экран произвожу через std::wcout . В будущем планируется прикрутка к апачу для работы с web. Придётся ли мне переделывать функции вывода в этом случае? Как с этим обстоит дело в php? Его исходники лежат в открытом доступе, но они очень большие и мне не разобраться там.
Здравствуйте, LuciferSaratov, Вы писали:
LS>Здравствуйте, Sm0ke, Вы писали:
S>>Привет. Потихоньку пишу на c++ интерпретатор своего скриптового языка ksi . Вывод на экран произвожу через std::wcout . В будущем планируется прикрутка к апачу для работы с web. Придётся ли мне переделывать функции вывода в этом случае? Как с этим обстоит дело в php? Его исходники лежат в открытом доступе, но они очень большие и мне не разобраться там.
LS>для начала можешь реализовать поддержку CGI , будет работать в любом настоящем веб-сервере. LS>потом можно сделать модули для апача и нгинкса: https://httpd.apache.org/docs/2.4/developer/modguide.html , https://www.evanmiller.org/nginx-modules-guide.html
Спасибо за ответ. Идея с CGI мне не почему-то нравится.
Посмотрел вашу ссылку по апачу и увидел, что вывод там производится через специальные функции. Да, мне придётся весь вывод в проекте теперь переделывать. Кроме того я работаю с wchar_t, а апачу нужен char. Это значит, что надо перекодировать при выводе строк каждый раз. Это потеря производительности... Неужели придётся делать CGI?
Re[3]: Как в php (модуль апача) осуществляется вывод в браузер?
Здравствуйте, Sm0ke, Вы писали:
S>Спасибо за ответ. Идея с CGI мне не почему-то нравится.
CGI это самое простое, что можно реализовать и получить нормальную поддержку работы в веб-серверах.
S>Посмотрел вашу ссылку по апачу и увидел, что вывод там производится через специальные функции. Да, мне придётся весь вывод в проекте теперь переделывать. Кроме того я работаю с wchar_t, а апачу нужен char. Это значит, что надо перекодировать при выводе строк каждый раз. Это потеря производительности... Неужели придётся делать CGI?
могу ошибаться, но де-факто в вебе стандартом является UTF-8, поэтому перекодировать в любом случае придётся (и в случае с CGI тоже).
Re[2]: Как в php (модуль апача) осуществляется вывод в браузер?
Здравствуйте, LuciferSaratov, Вы писали:
LS>Здравствуйте, Sm0ke, Вы писали:
S>>Привет. Потихоньку пишу на c++ интерпретатор своего скриптового языка ksi . Вывод на экран произвожу через std::wcout . В будущем планируется прикрутка к апачу для работы с web. Придётся ли мне переделывать функции вывода в этом случае? Как с этим обстоит дело в php? Его исходники лежат в открытом доступе, но они очень большие и мне не разобраться там.
LS>для начала можешь реализовать поддержку CGI , будет работать в любом настоящем веб-сервере. LS>потом можно сделать модули для апача и нгинкса: https://httpd.apache.org/docs/2.4/developer/modguide.html , https://www.evanmiller.org/nginx-modules-guide.html
Я тут подумал, самое простое, что можно сделать — это отнаследоваться от std::wstreambuf и определить там вывод в апач через его апи. Далее заменить буфер в std::wcout через rdbuf() . Значит по большому счёту вывод во всей остальной программе менять не надо (и это хорошо).