Легенда:
новое сообщение
закрытая нитка
новое сообщение
в закрытой нитке
старое сообщение
|
- Напоминаю, что масса вопросов по функционированию форума снимается после прочтения его описания.
- Новичкам также крайне полезно ознакомиться с данным документом.
Дубль 2! Поясните что да как :) оч. надо 08.11.03 21:48 Число просмотров: 1454
Автор: Ktirf <Æ Rusakov> Статус: Elderman
|
> Вроде нарыл что да как, но проблема, всё равно не > получается, может гуру си пояснят, что да как. Я > относительно не давно начал программить на си. Заметно :) Настоятельно рекомендую читать учебники по C.
> Всё как в мануалах...
> Странно почему ld не хочит линковать. Ничего странного. Все функции, на которые ld жалуется, находятся в библиотеке libmysqlclient.a, которую ты подключить не удосужился. Подключение, как уже указал Eugene, делается указанием при вызове gcc опции -l, в твоем случае -lmysqliclient.
> А также строчка > "mysql2.c:5: warning: return type of `main' is not `int'" > При чём тут это? Если я чётко указал "void main(void)" Ну так тебе компилятор четко и ответил - не надо так делать :) У функции main может быть одна из двух следующих сигнатур:
int main()
или
int main(int, const char **)
Есть другие варианты, но о них знать не обязательно, и самое главное - main всегда должен возвращать int ! Общим правилом является возврат нуля, если все закончилось хорошо, и кода ошибки в противном случае.
Что же касается выделения памяти, то в целом Eugene прав, хотя и неправ в частности: в твоем конкретном случае (с переменной query) все будет нормально работать :) А вообще текстовые строки, конечно, лучше размещать в куче, "если не указано иное", как пишут в договорах. Существуют вполне определенные правила, в каких случаях это не нужно (например, если, как в твоем случае, написать переменная = текстовая строка), но по этому поводу лучше (внимательно) почитать учебник.
Кстати, если тебе ближе Pascal, то почему бы тебе и не писать на нем тогда? Ничто не мешает подключить библиотеку mysqliclient из программы на Паскале.
|
|
|