Linux за българи: Форуми

Linux секция за начинаещи => Настройка на програми => Темата е започната от: completer в Feb 24, 2009, 09:16



Титла: Unix и C
Публикувано от: completer в Feb 24, 2009, 09:16
Здравейте! Метнах една самоучител за C http://www.azola.bg/product.php?p=1229 ($2).Сега си търся подходяща среда за програмиране.Търсих сума ти и праграми с графичен интерфейс, но накрая по време на търсенето разбрах, че в Unix мога да програмирам на C/C++ се отказах от всички други глупости понеже, преди много много години бях програмирал на Borland Pascal и средата ми е един вид удобна.
Та започнах да търся ръководства за това как да се използва Unix и C и се натъкнах на този:http://users.actcom.co.il/~choo/lupg/tutorials/ ($2) доста добре са пояснени някои неща.Но не можах да схвана как да създам nqkwa_programa.c .В ръководството пише че вече имаме такъв файл и просто го използваме.
Пробвах с
Код:
completer@debian:~$ cc program.c
cc: program.c: Няма такъв файл или директория
cc: no input files
completer@debian:~$ gcc program.c
gcc: program.c: Няма такъв файл или директория
gcc: no input files
Предполагам че иска създаден файл преди това.Създаох най-обикновен файл с разширение .c
Код:
completer@debian:~/Desktop$ gcc program.c
/usr/lib/gcc/i486-linux-gnu/4.3.2/../../../../lib/crt1.o: In function `_start':
(.text+0x18): undefined reference to `main'
collect2: ld returned 1 exit status
Тук изглежда пък че иска иска да е попълнен файла.Отварям с gedit и пиша пример.
Код:
#include<stdio.h>



int main(void)
{
printf("Shit");
return 0;

}
След това изпълнявам gcc program.c и ми създава нов файл a.out ,но не е изпълним или поне аз не така си мисля  ;D.
Та и основния ми въпрос е как да си програмирам в Unix-a без да правя допълнително файлове и писане в gedit и тем подобни.И още едно въпросче.Като се програмира в Unix има ли sintacsis error или теб подобни защото си спомням че в Borland ,че когато има неправилен ред или правописна грешка веднага изпищяваше.


Титла: Re: Unix и C
Публикувано от: Ivshti в Feb 24, 2009, 10:15
Изпълним е, просто го стартирай от терминала (./a.out от директорията, където е), защото няма начин графичната среда автоматично да го стартира в терминал, както става под Windows.


Титла: Re: Unix и C
Публикувано от: task_struct в Feb 24, 2009, 10:18
Цитат
Та и основния ми въпрос е как да си програмирам в Unix-a без да правя допълнително файлове и писане в gedit и тем подобни.
Ти да не искаш кода да се появява от някъде или да се самогенерира?

Почти всеки текстов редактор поддържа синтактично оцветяване. Ако искаш по сериозна среда пробвай KDevelop, Qt Creator, Anjuta, Eclipse.


Титла: Re: Unix и C
Публикувано от: gat3way в Feb 24, 2009, 10:36
Странно, защо по дефолт създава a.out, не трябва ли ELF изпълними файлове да прави?


Титла: Re: Unix и C
Публикувано от: completer в Feb 24, 2009, 10:47
Цитат
Та и основния ми въпрос е как да си програмирам в Unix-a без да правя допълнително файлове и писане в gedit и тем подобни.
Ти да не искаш кода да се появява от някъде или да се самогенерира?

Почти всеки текстов редактор поддържа синтактично оцветяване. Ако искаш по сериозна среда пробвай KDevelop, Qt Creator, Anjuta, Eclipse.

Не бе човек, не си ме разбрал. Вместо да отварям gedit  и да пиша в него искам да пиша в Unix-a.Забелязах че когато има грешка в кода на програмата компилатора се обажда значи този ми въпрос отпада.


Титла: Re: Unix и C
Публикувано от: completer в Feb 24, 2009, 10:48
Изпълним е, просто го стартирай от терминала (./a.out от директорията, където е), защото няма начин графичната среда автоматично да го стартира в терминал, както става под Windows.
Стана благодаря.Как не се сетих по-рано!Хамава работа  ;D
Остава въпроса как да пиша в Unix-a кода?


Титла: Re: Unix и C
Публикувано от: Hapkoc в Feb 24, 2009, 11:42
Сега ако разясниш за бедния и безпросветен мен, какво аджеба значи "Остава въпроса как да пиша в Unix-a кода?"


Титла: Re: Unix и C
Публикувано от: completer в Feb 24, 2009, 11:50
Въпроса ми е мога ли например този код да го напиша в някакъв редактор или там какво ще е в Unix

Код:
#include<stdio.h>

int main(void)
{
printf("Shit");
return 0;

}

Искам да кажа пиша няква команда за създаване на нов файл.c и го отварям и почвам да си пиша кода/програмта вътре


Титла: Re: Unix и C
Публикувано от: dvasilev в Feb 24, 2009, 11:51
@completer: Конзолни текстови редактори има много. Дето се вика с лопата да ги ринеш. Избери си някой и действай. За отправни точки погледни vi, nano, emacs и joe.


Титла: Re: Unix и C
Публикувано от: completer в Feb 24, 2009, 12:22
Tези редактори са ми ясни ! Не мога да разбера дали има такава програма специализирана за Unix програмиране,както по горе казах нещо като borland


Титла: Re: Unix и C
Публикувано от: task_struct в Feb 24, 2009, 13:06
Дефинирай "Unix програмиране". POSIX нишки ли искаш да използваш, сокети или какво искаш да направиш, за да можем да предложим програма?

Код на С можеш да пишеш на всеки конзолен или графичен редактор (повечето си има синтактично оцветяване). Отделно си има IDE-та, който предлагат много опции и автоматизации.


Титла: Re: Unix и C
Публикувано от: completer в Feb 24, 2009, 13:13
НЕ.Ами както казах засега ще се занимавам само с C.Просто не искам да използвам никаква част от графична среда за програмирането.Искам използването само на програми и компилатори от UNIX.От вас искам просто професионален или поне съвет от напреднали с програмирането, какъв комплекс от програми да използвам.


Титла: Re: Unix и C
Публикувано от: dvasilev в Feb 24, 2009, 13:37
@completer: Хубаво е да си уеднаквиш термините с останалите. Не случайно task_struct те пита какво имаш предвид с това "от Unix", защото и gedit, kdevelop и т.н. също спадат в общоприетата категория. Поне според мен това, което ти трябва се нарича с думата конзола. Потърси в google за linux console ide и си харесай нещо. Но така или иначе редакторите, за които ти бях казал преди това, са достатъчно мощни и би трябвало да ти свършат работа. Е докато им понаучиш триковете изисква усилия, но предполагам, че ще се справиш.


Титла: Re: Unix и C
Публикувано от: task_struct в Feb 24, 2009, 13:41
Аха. Загрях  ;D
Значи за редактор пробвай vi, vim, midnight commander. Виж какво ти предложи и dvasilev. Харесай си един и си работи с него. Компилирането става с gcc. Ако имаш проект от повечеко файла ти препоръчвам да видиш как се работи със Makefile-ове, auto tools или cmake

Успех  [_]3

П.П Май имаше и Borland C за Unix, ама не съм сигурен  :D


Титла: Re: Unix и C
Публикувано от: iskren в Feb 24, 2009, 13:49
Малък процент от хората в майкрософт пишат кода си на vim :) Този редактор (от някой хвален, от други мразен) може да се преобрази до неузнаваемост (с плъгини, настройки, скриптове итн) и да хвърли всички останали IDE-та в коша ... са друг е въпроса колко време и рутина ти трябват за да свикнеш да го ползваш. Аз лично не ползвам vim, обаче познавам хора който го правят ДОСТА успешно. Колкото до интегрирана конзолна среда - за дебърер може да ползваш gdb, дали има някакъв плъгин за вим - доста е вероятно - потърси. Като те слушам обаче доста ще трябва да покопаеш по въпроса докато започнеш да се чувстваш в свои води - няма да изглежда като борланда при всички случай - освен това борланда е мега стара концепция и не вярвам да има нещо ново в същия дух. Защото какъв е смисъла да е 'графично' в някакъв смисъл като е в кознолата - като искаш гуй - ползвай нещо НАИСТИНА графично - kdevelop, code-blocks, eclipse итн итн ... ако искаш конзолен хардор - на ти вим, на ти гдб, на ти компилатор.

Избирай! Бтв можеш да подкараш едно старо нещо наречено djgpp - прилича доста на борланд, много е бъгаво, много трудно се подкарва - и все пак (и е за UNIX whatever).


Титла: Re: Unix и C
Публикувано от: lkr в Feb 24, 2009, 14:23
Странно, защо по дефолт създава a.out, не трябва ли ELF изпълними файлове да прави?

То си е ELF, просто се казва a.out :)

Малък процент от хората в майкрософт пишат кода си на vim :) Този редактор (от някой хвален, от други мразен) може да се преобрази до неузнаваемост (с плъгини, настройки, скриптове итн) и да хвърли всички останали IDE-та в коша ... са друг е въпроса колко време и рутина ти трябват за да свикнеш да го ползваш.

Те IDE-тата и без това са си за коша :). Аз препоръчвам Emacs / Vim.


Титла: Re: Unix и C
Публикувано от: mom в Feb 24, 2009, 15:23
Привет!

До колкото разбирам ти трябва някаква среда ала DOS версията на Borland Pascal или C за Linux. Виж проекта FPC (free pascal compiler) до колкото си спомням предоставя точно същото IDE но е само за Pascal. Имаше и един проект Lazarus, но по някое време разработчика му беше решил да зареже Linux версията и да се съсредоточи само в-у Windows - не съм го поглеждал скоро


Титла: Re: Unix и C
Публикувано от: gat3way в Feb 24, 2009, 15:39
А, някои разработчици явно имат носталгия и/или стари навици :)

От друга страна така става който е свикнал да си указва изплютия изпълним файл с -o , даже не знаех за това  :)


Титла: Re: Unix и C
Публикувано от: tarator в Feb 24, 2009, 16:56
Не виждам какво предимство имат IDE-тата. Само биха ме принуждавали да работя по начин, който някой си е решил, че е най-удобен. Използвам си любимия текстов редактор, пиша си Makefiles на ръка и няма нужда да помня кой клавиш какво прави или в кое меню трябва да кликна за да стане нещо.

За Борланд-подобни среди... Преди 10-12 години имаше един редактор WPE/XWPE писан от някакъв немец, приличаше доста на борландските редактори. Кодът му беше най-отвратителния код който съм виждал някога.


Титла: Re: Unix и C
Публикувано от: completer в Feb 25, 2009, 14:30
Благодаря за отзивите за сега мисля, че vim и gcc ще ми свършат добра работа.
Благодаря на всички отново!


Титла: Re: Unix и C
Публикувано от: nikoni в Feb 25, 2009, 15:39
Под X пробвай anjuta.


Титла: Интегрирани среди за разработка (IDE) под Linux
Публикувано от: kolio_kolev в Feb 25, 2009, 22:48
Интегрирани среди за разработка (IDE) под Linux
=========================================================

Eclipse C/C++ Development Tooling (CDT): http://www.eclipse.org/cdt/ ($2)
Qt Creator (RC): http://www.qtsoftware.com/developer/qt-creator ($2)
KDevelop: http://www.kdevelop.org/
Anjuta DevStudio:  http://anjuta.sourceforge.net/ ($2)
QDevelop: http://qdevelop.org/ ($2)
Lazarus (Free Pascal) http://www.lazarus.freepascal.org/ ($2)
RHIDE (old DOS style IDE):  http://www.rhide.com/ ($2)


Титла: Re: Unix и C
Публикувано от: Ivshti в Feb 25, 2009, 22:57
Не пропускай Code::Blocks:
http://www.codeblocks.org/

gat3way, четох някъде, че просто не са сменили името на файловете. :)


Титла: Re: Unix и C
Публикувано от: aspirina97 в Mar 02, 2009, 20:04
Пробвай geaney може да ти допадне- много лесен и приятен за ползване