Страница 1 из 2

CGI приложения на C

Добавлено: 01 мар 2006, 22:47
Lioxa
Появилось желание попробовать написать сайтик на C, скомпилить его.
Начал искать библиотеку для CGI. Естетсвенно спросил у гугла "cgi.h"
Нашёл следующее

CGI.h is a C++ #include file that allows a 'CGI' object to be created then HTML tags generated via methods.

А для С библиотека по другому называется? или так же, но я не нашёл её описания?
Может ктонибуть знает ссылочки на инет или печатные ресурсы по этому вопросу?
И в Апаче нужны ли дополнительные настроки? Я так понимаю, что бинарники должны запускаться как cgi, по аналогии с Perl прогами.

Добавлено: 01 мар 2006, 23:10
Llama
Lioxa, м... это все фантастика на самом деле...
Особых извращений и библиотек не надо. Почитайте про CGI и предеачу параметров - AFAIK параметроы передаются через stdin и черз enviroment. Соотвественно и читать ихттуда можно относительно просто.
PS: А с какого перепугу надо писать сайт на C ???

Re: CGI приложения на C

Добавлено: 01 мар 2006, 23:10
Berserker
ничего дополнительного не надо.
Все данные для обработки берутся скриптом из :
1) переменных окружения. Например, QUERY_STRING, для анализа инфы, поданной методом GET.
2) стандартного входа (aka STDIN) , если юзер использует метод POST.

Добавлено: 01 мар 2006, 23:50
Lioxa
Llama писал(а):PS: А с какого перепугу надо писать сайт на C ???
Just for fun :)
Хочется попробовать это дело. просто ради интереса.

Добавлено: 01 мар 2006, 23:54
Victor Gr.
Lioxa, у меня есть такое же желание ;) Для него и купил Кернигана-Ритчи "Язык программирования Си" :). Хочется добиться бешеного прироста производительности.

В рассуждениях дошёл до того, что нужно написать собственный HTTP-сервер с заточкой под собственные нужды, интегрировать в него CMS.

http://victorgr.livejournal.com/22817.html

Впрочем, хочется создать собственный framework оптимизированных функций на C, чтобы не возвращаться к ним и сделать программирование сайтов на Си таким же простым, как и на PHP :).
(например, обработка строк, коннекты к БД и др.)

Добавлено: 02 мар 2006, 02:05
Gnida
на асме их , на асме )

Добавлено: 02 мар 2006, 11:45
Lioxa
Gnida писал(а):на асме их , на асме )
Не факт, что на асме будет лучше работать. Так как большой и сложный код на асме писать сложнее, можно больше ошибок сделать. причём ошибок логических.

Добавлено: 02 мар 2006, 11:47
Lioxa
Victor Gr. писал(а):Хочется добиться бешеного прироста производительности.
Бешенного врядли получится. Но, если, как ты хочешь, делать вполть до оптимизации httpd собственного, то в таком случае пожалуй да.

Добавлено: 02 мар 2006, 12:04
Llama
Victor Gr., ИМХО не стоит озобретать велисипед. В тот же самый апач можно вклинится и перехватить обработку запроса практически на любом уровне. ИМХО apache2-mpm-worker достаточно быстр для того чтобы не изобретать велосипед.

Добавлено: 02 мар 2006, 12:37
Victor Gr.
Llama, это моё желание попробовать, сделать, что-то открыть для себя новое :)

Добавлено: 06 мар 2006, 14:14
Lioxa
Victor Gr, может ты знаешь есть ли под C библиотека для работы с шаблонами, наподобие перловой HTML::Template. Пока вижу два способа: самому это делать, либо через libxml и libxslt.

Добавлено: 06 мар 2006, 15:00
sanitar
Плюнусь ложкой дегтя:

вплетением логики в механизмы представления данных

в 99 % случаев вымощена дорога в ад!

Добавлено: 07 мар 2006, 10:10
Lioxa
Быть праведником скучно. Иногда можно и поэксперементировать с извращениями, в рамках безопасного конечноже ;)

Добавлено: 07 мар 2006, 21:08
Andrei (admin)
Victor Gr. писал(а):Lioxa, у меня есть такое же желание ;) Для него и купил Кернигана-Ритчи "Язык программирования Си" :). Хочется добиться бешеного прироста производительности.
это врядли. CGI гораздо тормознутее модулей (типа PHP) т.к. при каждом обращении будет вызываться программа. а это жуууутко медленно а масштабах большого сервера

Добавлено: 07 мар 2006, 21:27
Llama
Хм... если уж извращаться - то по полной
1) Многопточный сервер приложений
2) Коннектор к нему в виде апачевого же модуля обрабатывающего Location
Вот такую связку фиг чем догонишь, если написано с умом... ;)
Строго говоря - mod_php самый худший из возможных способов выполнения php-скриптов с точки зрения безопастности ИМХО.