31

Подскажите, почему при компиляции программы из командной строки (делаю всё как указано в первом посте) - gcc выдаёт сообщение нет такого каталога или файла?
Может в компиляторе явно не указан путь к новой созданной директории projects/first_program ?  ac

32

Hypercubix пишет:

Подскажите, почему при компиляции программы из командной строки (делаю всё как указано в первом посте) - gcc выдаёт сообщение нет такого каталога или файла?

значит нет.
скопируйте суда ПОЛНЫЙ вывод.
например так:

 Консоль:
ksu@ksu:~$ touch x.c
ksu@ksu:~$ gcc x.c -o x
/usr/lib/gcc/i486-slackware-linux/4.5.3/../../../crt1.o: In function `_start':
/glibc-tmp-17f9a253290abc9e78ac95f04303119b/glibc-2.13/csu/../sysdeps/i386/elf/start.S:115: undefined reference to `main'
collect2: выполнение ld завершилось с кодом возврата 1
ksu@ksu:~$

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

33

Вот что получилось у меня

 Консоль:
hypercub@linux-uu7u:~/projects/first_program> touch main.c
hypercub@linux-uu7u:~/projects/first_program> gcc main.c -o main
/usr/lib/gcc/i586-suse-linux/4.3/../../../crt1.o: In function `_start':
(.text+0x18): undefined reference to `main'
collect2: ld returned 1 exit status
hypercub@linux-uu7u:~/projects/first_program>

34

Hypercubix пишет:

Вот что получилось у меня

дык вы программу-то напишите!
touch main.c создаёт пустой файл main.c, естественно, линкер ругается, что вы там ничего не написали.

 Консоль:
ksu@ksu:~$ echo "int main(){return 0;}" >main.c
ksu@ksu:~$ gcc main.c -o main
ksu@ksu:~$ ./main
ksu@ksu:~$

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

35

привет
у меня так получается, можете поправить, что не так

ri4uck@ri4uck-desktop:~/projects/first_programm$ gcc -Wall -O3 -o hello main.c
main.c: In function ‘main’:
main.c:11: error: expected declaration or statement at end of input

36 (24.07.2011 21:26:04 отредактировано gramozeka)

mkultra пишет:

привет
у меня так получается,

что там получается то ??? oO
WTF !!!!!!!
" ...mil demonios - el contramaestre, que le dio el mono una pistola!? ..."  ah  ah  ah  ah  ah  ah

в общем так ... для подобных вбросов ...
ставим любой из стопицот DE для разработки - на вскидку :
code::blocks
http://storage4.static.itmages.ru/i/11/0724/s_1311526853_74a2948f82.pnghttp://storage5.static.itmages.ru/i/11/0724/s_1311526874_6e2019b650.png
Qtcreator
http://storage5.static.itmages.ru/i/11/0724/s_1311527063_35aff6ed80.png
http://storage7.static.itmages.ru/i/11/0724/s_1311528342_ba60fd6b7c.png
kdevelop
anjuta
и т.д. и пробуем писать там , а уже потом , когда осилите элементарный синтаксис языка и начнете разбираться в принципах работы того же gcc , вот тогда можно и в консоль перебираться и писать хоть на коленкев vim'е хоть в блокноте ...

" si contuderis stultum in pila quasi tisanas feriente desuper pilo non auferetur ab eo stultitia eius " © Proverbs 27:22

37

mkultra пишет:

привет
у меня так получается, можете поправить, что не так

Может и можем, а может  и нет. Вы свой код то покажите. Тут не форум экстрасенсов.
Максимум, что можно сказать это есть ошибка/ки в первых одиннадцати строках. Проверяйте наличие ";",  "{" и "}" для начала

То что не убивает нас, делает нас сильнее! © Ницше.
When life puts you in tough situations, don’t say "why me". Just say "try me".
GNU/Linux Debian

38

mkultra пишет:

expected declaration or statement at end of input

забыли закрыть скобку, или поставить точку с запятой.

gramozeka пишет:

и т.д. и пробуем писать там , а уже потом , когда осилите элементарный синтаксис языка и начнете разбираться в принципах работы того же gcc , вот тогда можно и в консоль перебираться и писать хоть на коленкев vim'е

я вам сейчас минус поставлю, если вы мне не расскажите, ЧТО такого крутого в этом вашем кодаблоксе.  ah
это УГ даже не умеет завершать правильно файлы (на \n), и не поддерживает синтаксис sed.
Вердикт - подходит только для офисного планктона, которые возомнили себя крутыми кодерами  ae

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

39

drBatty пишет:

Вердикт - подходит только для офисного планктона, которые возомнили себя крутыми кодерами  tongue

в-о-от ! А вы им - консоль , touch , gcc ...  если человек не в состоянии "Hellow Hell !" накропать и скомпилировать по готовому (!) http://linuxforum.ru/viewtopic.php?pid=112694#p112694 ... тут только кодблоксами отмахиваться больше никак (имхо) .. ag

" si contuderis stultum in pila quasi tisanas feriente desuper pilo non auferetur ab eo stultitia eius " © Proverbs 27:22

40

drBatty пишет:

я вам сейчас минус поставлю, если вы мне не расскажите, ЧТО такого крутого в этом вашем кодаблоксе.  mad

не знаю что там в нём может быть крутого или не крутого (для меня пока эталоном автоматизации пейсательства MS VS 2008 остаётся де-факто) , но .. Для того чтобы каждый раз не набирать :

 Консоль:

ksu@ksu:~$ echo "int main(){return 0;}" >main.c
ksu@ksu:~$ gcc main.c -o main
ksu@ksu:~$ ./main
ksu@ksu:~$

сойдет для начала (ну там возомнить себя мегахацкером ёоу, тоже  :lol: ). Каких-то сверх-фич ожидать от него наврядли стоит , по крайней мере в ближайшее будущее ..

" si contuderis stultum in pila quasi tisanas feriente desuper pilo non auferetur ab eo stultitia eius " © Proverbs 27:22

41

gramozeka пишет:

если человек не в состоянии "Hellow Hell !" накропать и скомпилировать по готовому

...в принципе, в профессии дворника нет ничего позорного.
и думать особенно не нужно  wink

gramozeka пишет:

Для того чтобы каждый раз не набирать :

как вы считаете, что проще:
1) набрать три команды в консоли и мышкой перекинуть их на форум.
2) написать то-же в кодеблоксе, сделать три скрина, залить их на радикал, а потом кинуть на форум.
?

gramozeka пишет:

(для меня пока эталоном автоматизации пейсательства MS VS 2008 остаётся де-факто)

хорошая штука, но VIM'у сливает по полной.

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

42

drBatty пишет:

2) написать то-же в кодеблоксе, сделать три скрина, залить их на радикал, а потом кинуть на форум.
?

рукалицо  :lol: , (надо как то похлопотать у управителей сего ресурса об этом архи нужном , для сего же ресурса , смайлике )..

drBatty пишет:

1) набрать три команды в консоли и мышкой перекинуть их на форум.

( я например пользуюсь kwrite'ом по большей части ) , а вот судя по последним двум страницам кому-то это явно не по силам ...

" si contuderis stultum in pila quasi tisanas feriente desuper pilo non auferetur ab eo stultitia eius " © Proverbs 27:22

43

gramozeka пишет:

рукалицо  laugh , (надо как то похлопотать у управителей сего ресурса об этом архи нужном , для сего же ресурса , смайлике )..

угу... будет самым популярным на форуме  wink

gramozeka пишет:

( я например пользуюсь kwrite'ом по большей части )

а что не kate?

gramozeka пишет:

а вот судя по последним двум страницам кому-то это явно не по силам ...

да уж... хотя я специально вставил в первый пост не только картинку, но и текст. Что-бы народ не делал таких глупых ошибок в сабже... Мышки что-ли подорожали?  :o

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

44

[мысли_в_слух]
казалось бы и при чем тут программирование bx
[/мысли_в_слух]

То что не убивает нас, делает нас сильнее! © Ницше.
When life puts you in tough situations, don’t say "why me". Just say "try me".
GNU/Linux Debian

45

voral пишет:

казалось бы и при чем тут программирование

ВНИМАТЕЛЬНО прочитайте этот пост.

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

46

Да я читал.... Тема начиналась не плохо.... А заканчивается выбором ide.
Опять же это просто мысли в слух - не обращайте внимания ab

То что не убивает нас, делает нас сильнее! © Ницше.
When life puts you in tough situations, don’t say "why me". Just say "try me".
GNU/Linux Debian

47

voral пишет:

Да я читал.... Тема начиналась не плохо.... А заканчивается выбором ide.

вы не поняли: моё мнение заключается в том, что для первой программы никакой IDE не нужен.

Так понятно?

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

1. Запускаем Текстовой редактор (gedit)
2. Набираем текст:

#include <stdio.h>

int main(int argc, char *argv[])
{
    printf("Hello, World!\n");
    return 0;
}

3. Сохраняем файл под именем hello.c
4. Создаем новый файл
5. Набираем текст (внимание, отступы делаем табуляцией):

TARGET = hello
CC = gcc

all:
    $(CC) -o $(TARGET) hello.c

clean:
    rm $(TARGET)

6. Сохраняем файл под именем Makefile
7. В меню "Сервис" выбираем пункт Build или нажимаем F8
8. Если не было ошибок - будет создан исполняемый файл hello
9. Запускаем Терминал, переходим в каталог с нашими файлами, запускаем программу:

$ ./hello
Hello, World!

49

Ден Зурин - и Ваш вариант понравился, он прост и потому удобен.
Вот только с п.7 непонятно: "Сервис" или F8 какой программы?
gedit такого не имеет, terminal тоже. Уточните/поправьте пожалуйста.

Я после п.6 пререшел в терминал и
user1@desktop:/home/sklimkin/.............. ......../Programming Linux# make
gcc -o hello hello.c
user1@desktop:/home/sklimkin/.............. ......../Programming Linux# ./hello
Hello, World!
user1@desktop:/home/sklimkin/.............. ......../Programming Linux#

drBatty - а почему бы не продолжить тему: 2-я, 3-я ... программа.
Это без капли иронии, ведь здорово получилось!
Вместо чтения на форуме соплей типа "xx vs yy", или "я крутой линуксоид - козе хвост отломаю!" - прекрасный практический пример.

Я вот пользуюсь PellesC в WinDesktop и WinCE по причине его не-ООП и не-MFC, и очень хочу перейти на Линукс, но не определился пока с инструментами для такого же удобного создания программ на СИ как консольных, так и с кнопочками.

50

Ден Зурин, просто юзайте Vim. и вам не нужно будет писать такие длинные хаутушки.
sklimkin, ктож против? читайте эту ветку: http://linuxforum.ru/viewforum.php?id=35

ЗЫЖ

Ден Зурин пишет:

3. Сохраняем файл под именем hello.c
4. Создаем новый файл
5. Набираем текст (внимание, отступы делаем табуляцией):

просто F9. и профит. оно само. просто?

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

51

drBatty пишет:

Вход в режим редактирования осуществляется кнопкой i.
Выход - кнопкой ESC
в нормальном режиме можно всё сохранить командой :w
выход из нормального режима :q

Док, немного неточно для новичков про выход, я бы подправил вот так:

Переход в режим редактирования - i
Переход в "нормальный" режим - ESC
Для сохранения изменений в файл набрать в "нормальном" режиме - :w или :w [имя файла]
Для выхода из VIM набрать в "нормальном" режиме - :q
Выход без сохранения - :q!

Да, у меня Ubuntu.
Нет, не глючит.

52

-=Serj=- пишет:

Док, немного неточно для новичков про выход, я бы подправил вот так:

этого всё равно слишком мало для новичков. Всё одно придётся мануал читать (в Сети есть по-русски). Знаете, почему Vi(m) только пищит и всё портит? Из-за ваших неправильных мануалов. Ибо "переход в нормальный режим" это далеко не всегда ESC. Часто это ESC ESC. Но вы об этом не написали.

Что касается новичков, то лучший совет: набрать vimtutor, и потратить 30 минут на чтение и опыты. И помнить о том, что vim это НЕ блокнот, это вообще ДРУГОЙ редактор, который развивался совершенно по другому, и к блокноту не имеет никакого отношения, и даже не имеет общих родственников.

Карусель разнесло по цепочке за час
Всех известий — конец
Да, весна началась!
(всё к лицу подлецу, как родному отцу, не рассказывай, батя, и так всё пройдёт)

53

Много ответов есть на сайте* где выложены в краткой и доступной форме уроки программирования для новичков и более продвинутых.

* Заинтересовавшиеся могут обратиться в «личку».

54

sergey7timchuk, не в тему сайт раскручиваете:
1. У вас про С++
2. Под винду

Да, у меня Ubuntu.
Нет, не глючит.

55 (26.11.2012 13:07:24 отредактировано Silencer)

из K&R:
1.2. Переменные и арифметика

#include <stdio.h>

int main(int argc, char **argv)
{
    int lower,upper,step;
    float fahr,celsius;
    lower=0;
    upper=300;
    step=20;
    fahr=lower;
    while (fahr<=upper);
        celsius=(5.0/9.0)*(fahr-32.0);
        printf("%4.0f%6.0f\n",fahr,celsius);
        fahr=fahr+step;
        return 0;
}

каким образом должна функционировать программа?
у меня при запуске ./qwerty ничего не происходить
такая же беда при выполнении кода в Geany

http://storage7.static.itmages.ru/i/12/1126/s_1353920825_5968858_304646992e.png

56

Silencer пишет:

while (fahr<=upper);
        celsius=(5.0/9.0)*(fahr-32.0);
        printf("%4.0f%6.0f\n",fahr,celsius);
        fahr=fahr+step;
        return 0;

Внимательно ищем ошибку:)

Да, у меня Ubuntu.
Нет, не глючит.

57

-=Serj=- пишет:

Внимательно ищем ошибку:)

если вы про %6.1f то не суть

58

Silencer пишет:

если вы про %6.1f то не суть

Да не..

while (fahr<=upper) {
        celsius=(5.0/9.0)*(fahr-32.0);
        printf("%4.0f%6.0f\n",fahr,celsius);
        fahr=fahr+step;
}
return 0;

Да, у меня Ubuntu.
Нет, не глючит.

59

-=Serj=-, не помогло, у себя не проверял?

60 (26.11.2012 13:51:02 отредактировано -=Serj=-)

Silencer пишет:

-=Serj=-, не помогло, у себя не проверял?

Проверил. Работает:)

#include <stdio.h>


int main(int argc, char *argv[])
{
    int lower, upper, step;
    float fahr, celsius;
    lower = 0;
    upper = 300;
    step = 20;
    fahr = lower;
    while (fahr <= upper)
   {
        celsius = (5.0/9.0)*(fahr-32.0);
        printf("%4.0f%6.0f\n", fahr, celsius);
        fahr = fahr + step;
   }
    return 0;
}
Да, у меня Ubuntu.
Нет, не глючит.