Эта тема на forum.dklab.ru


Cont: Как в Денвере писать скрипты на языке С?
Есть потребность сложные вычисления производить на C. При этом нужен API для MySql.
У провайдера все уже готово и настроено. Пишем С-код, используем API MySql, компилируем - работает.

Как сделать, чтобы C-скрипты работали под Денвером?
Может, есть аналогичный пакет, где C включен?
Ivan1986:
пакет называется компилятор С - например minGW, VS.NET
причем тут денвер?
просто компилируете программу и используйте ее в качестве например cgi, а символы для подключаемых библиотек mysql ищите скорее всего на их сайте
Anonymous:
Я предполагал, что есть какой-то быстрый способ получить все готовое. Вместе с компилятором, аналогичным gcc.
Я, кстати, пробовал создать консольное приложение, выводящее текст. Скопировал экзешник в cgi, запускал test1.ru/cgi/t.exe. Не работает.
Anonymous:
На сервере у провайдера копирую программу в /cgi, через SSH компилирую и все работает. И библиотеки все уже для MySql есть.
Ivan1986:
там вроде на cgi-bin настроено было
Anonymous:
У меня cgi. Там и test.pl лежит, который работает. Пробовал и cgi-bin.
Если ошибиться в имени, то Денвер (Apache) выдает "not found".
В моем же случае ошибку выдает браузер "файл не найден".
Переименовал *.exe в *.cgi - получил "Internal Server Error".
Cont:
Гость - это я. Итак, пока решаем задачу запуска откомпилированных в винде c-программ через Денвер.
Дальше, как я понимаю, качаем аналог gcc под Винду - minGW. Качаем библиотеки для Mysql и связываемся с сервером БД. Интересно, получится?
На сервере у провайдера под каждый скрипт (в т.ч. и на C) накладывается ограничение как по времени выполнения, так и по объему памяти.
Что нужно редактировать для php-скриптов в php.ini я знаю. Какие, интересно, будут ограничения для С? И как их обойти.
Ivan1986:
для C вроде никаких ограничений нету на время
во, Internal Server Error это то что вам и нужно сейчас - смотрите в логах апача какую ошибку он выдал
Cont:
127.0.0.1 - - [13/Jun/2009:22:02:00 +0600] "GET /cgi/t.cgi HTTP/1.1" 500 -
Ivan1986:
Cont
это в access а в error ?
Cont:
[Sat Jun 13 22:00:57 2009] malformed header from script. Bad header=Hello, World!: t.cgi

О! Спасибо. Нашел, понял! Header прописать нужно. :)
Cont:
На сервере глянул, что писал, так там не забыл printf("Content-type: text/html\n\n")
Cont:
Скачал minGW и Connector/C (libmysql). С последним были серьезные проблемы. Он под VC.
Нужно править main.h и конвертировать libmysql.dll в libmySQL.a.
На форумах нашел инструкции.

В итоге все работает. Cgi в Денвере запускается. Базу видно, запросы идут. Я рад. :)
bæv:
Перенесено из форума: Форум для начинающих пользователей Денвера :: Денвер.
Перенесено в форум: Полезные советы :: Денвер.
Anonymous:
Скачал minGW и Connector/C (libmysql). С последним были серьезные проблемы. Он под VC.
конвертировать libmysql.dll в libmySQL.a.
На форумах нашел инструкции.


Опять я буксовал на ровном месте.
С текущими MinGW и библиотекой MySQL Connector/C ничего конвертировать не нужно.
Достаточно только в mysql.h исправить #ifdef __CYGWIN__ на #ifndef __CYGWIN__.

Не линковалось у меня из-за параметра -lmysqlclient, а не из-за библиотеки.
Вместо него -lmysql нужно использовать.

Типа так:
gcc -I c:\mingw\include\mysql -L c:\mingw\lib\mysql -lmysql t.c
Cont:
При извлечении данных sql-запроса чудеса с памятью происходят. Переменные слетают, программа вылетает.

Плюнул и поставил VC++ Express Edition. Пока полет нормальный.
Cont:
Вот эти директивы препроцессора обеспечивают мне работоспособность как для компилятора MS C/C++ под Windows на локальной машине, так для gсс под Unix на сервере.

#ifdef _WIN32
#include <Winsock2.h>
#pragma comment(lib,"libmysql.lib")
#pragma comment(lib,"mysqlclient.lib")
#define DBINIT "localhost", "root", "", "*", 0, NULL, 0
#else
#define DBINIT "*", "*", "*", "*", 0, NULL, 0
#endif

#include <mysql.h>
#include <stdlib.h>

Maus:
Аналогичная тема уже подымалась на форуме - http://forum.dklab.ru/viewtopic.php?t=21426
TinyCC как раз и позовляет C-scripting
olgamaster:
Благодарю за рекомендации. На северо-западе Москвы находится район Митино http://moskva-severozapad.ru/rayon-mitino-moskva/ , а на западе Москвы -- район Филевский парк http://zapad-moskva.ru/filevskiy-park-moskva/ -- очень живописный.
igors800:
На нашем сайте есть все девушки от проституток до индивидуалок Москвы, просто заходите и выбирайте себе понравившуюся путану.
igors800:
На нашем сайте есть все девушки от проституток до индивидуалок Москвы, просто заходите и выбирайте себе понравившуюся путану http://msk.intimtown.in

Эта тема на forum.dklab.ru