Вот собираюсь написать что то вроде экстэйшина на С.

cDLEON

Онанист РНРСlub
Вот собираюсь написать что то вроде экстэйшина на С.

Разумеется ради опыта в разработке С приложений.
Сразу появилось несколько вопросов.
1) По поводу литературы - так и не нашёл ни какой нормальной литературы. Вся она для чайников. вводный курс так сказать. И разговор там идёт только о синтаксисе.... А мне нужна документация по всем стандартным для си либам.... и прочее...
2) Какой компилятор\редактор лучше использывать и возможно ли будет писать кроссплатформенно (Windows & *Nix).

Если где то что то не правильно описал - приношу извинения. На си опыта действительно мало. Писал только маленькие консольные приложения, да с файлами работал 8)
 
cDLEON
Редактор: vim
Компилятор: gcc
Литература: man & info, google://
Кросс платформенную -- возможно, даже через тот же #ifdef определяя фрагменты завязанные на специфических библиотеках.
 

tony2001

TeaM PHPClub
>А мне нужна документация по всем стандартным для си либам.... и прочее...

http://cclib.nsu.ru/projects/gnudocs/texts/kernigan.html
man <func name>

>2) Какой компилятор

тот, который работает.

>\редактор лучше использывать

тот, который удобнее всего лично тебе.

>и возможно ли будет писать кроссплатформенно (Windows & *Nix).

это же Си, в этом его основная идея.
 

cDLEON

Онанист РНРСlub
спасибо огромное всем за ответы...
В общем попробывал ручками поставить mingw компилер, т.к. на одном из сайтов найденных в гугле было сказано, что лучше всего собирать самому - решил собирать...Понапрописывал переменных в PATH что б gcc не матюкалось, получилось вот что. Компилер работает но рутом у него получается хз какой коталог) Т.е. файлы с инклудами не может найти и т.д. ))
Поставил блудшедовский Dev-C++ всё бы конечно хорошо...Но как писать под сокеты кроссплатформенно? =))
Например той же либы sys/inetd.h в покете mingw и в покете Dev-C++ нет)
Зы. Ещё раз извеняюсь если где-нибудь криво написал)

-~{}~ 14.08.07 03:51:

Извеняюсь...
И в Dev-C++ тоже работать gcc нормально не может...
Матюкается так:
ld: crt2.o: No such file: No such file or directory
В покете этот файл есть, но мне не понятно почему найти он его не может =(
 
cDLEON
Может лучше поставить linux :)? Вообще на DevCpp писал несколько лед назад, правда под OpenGL, в целом ощущения приятные. Но все ж для программиста лучше linux не найти. Как по средствам так и по документации.
 

svetasmirnova

маленький монстрик
cDLEON
> В общем попробывал ручками поставить mingw компилер, т.к. на одном из сайтов найденных в гугле было сказано, что лучше всего собирать самому

Ну чем лучше-то? Тем более, что делаешь это в первый раз.

У меня под Windows 2 рабочих ENV: бесплатный Visual Studio (который Express) и cygwin + gcc + mingw с которым прекрасно работает редактор CodeBlocks.
 

cDLEON

Онанист РНРСlub
В общем получилось так:
"Я его слепила из того что было" =)))
Совместил Dev-C++ + minGw и немного параметры для компилятора поменял. Всё начало летать)))
Правда Dev-C++ мне совсем не нравится. Какой то ущербный он =(
Сейчас будем оценивать CodeBlocks и vim =)

-~{}~ 14.08.07 18:26:

Кстати... Я здесь слышал про либы вроде QT и т.д.
Что-нибудь можете посоветывать ? Хочу кроссплатформенно и без освоения тех же сокетов под винду и под линукс. :shuffle: =)

-~{}~ 14.08.07 18:36:

Может лучше поставить linux ?
Я б с удовольствием, но проблем с софтом мне не хочется =(
 

tony2001

TeaM PHPClub
да уж =)
после вышеописанных мучений, `gcc source.c -o source` кажется просто невозможным, невероятным..
 

cDLEON

Онанист РНРСlub
Не знаю вправе я здесь задавать такие вопросы, но после длительного изучения учебника Кернигана, я пришёл в ужас.
Его ф-я описанная в учебнике
STRCPY(S, T) /* COPY T TO S; POINTER VERSION 3 */
char *S, *T;
{
while (*S++ = *T++)
;
}

main()
{
char *tos;
tos="blablabla";
STRCPY(tos,"\asdfghjkl;");
printf("%s\n",tos);
//system("PAUSE");
};
В винде прога попросту виснет. А на виртуальной машине линукс говорит мне: Segmentation fault =(
 

serglt

Анус, ой, Ахтунг
Нда, далеко тебе еще до расширений к PHP. Память выделять для строки tos баба Зина будет? Когда напишешь свое extension - скажи название, чтоб я его ненароком исползовать не начал ;)
 

phprus

Moderator
Команда форума
serglt
Успокойся. Ошибки с распределением памяти возникают у большого количества людей которые до этого писал только на языках, где память распределялась автоматически и у подавляющего большинства начинающих программистов.

cDLEON
Я думаю, что читать книгу Керригана и Ритчи тебе пока рано. ИМХО это больше справочник, а не учебник. Попробуй найти литературу более учебной направленности.
 

ustas

Элекомист №1
cDLEON
глянь книжку php 5 проф. программ. энди гутманс, в инете точно найдешь. Там в конце довольно неплохо описывается разработка расширений, типы, и т.п., так скажу экспресс методом.
Кстати вроде бы читал что на php.net релизы под винду на visual studio 6 собирают. тони это правда?
 

phprus

Moderator
Команда форума
ustas
Рано советовать книги по разработке расширений. cDLEON пока что не имеет даже базовых знаний языка С. По этому ему вначале надо освоить язык С, понять как работать с памятью, что такое ошибки переполнения буфера и только после этого он вполне сможет приступать к написанию расширений.

cDLEON
Посмотри на эту статью: http://local.joelonsoftware.com/mediawiki/index.php/Назад,_к_основам
 
cDLEON
Поставь Linux и найди книгу которую я советовал в соседнем топике, хотя в её названии и есть слово "профессиональный", но в ней изложено все что необходимо для старта, доступно и лаконично, думаю, тебе она очень пригодится.
 

tony2001

TeaM PHPClub
>Кстати вроде бы читал что на php.net релизы под винду на visual studio 6 собирают.
>тони это правда?
правда.
хотя Zend Core for Windows собирают 2003-м VS.
 

Alexandre

PHPПенсионер
cDLEONпод Linux все собирается легче, хотя отлаживается хуже (хотя дело привычки к определенному IDE) :)
 
Сверху