помогите начать (знаю как в windows не понимаю где linux)

Модератор: Модераторы разделов

slutsker
Сообщения: 40
ОС: WIN XP + LINUX MANDIVA 2007

помогите начать

Сообщение slutsker »

вот примеру в винде просто - заходишь в висуал студию

Код: Выделить всё

#include <ioastream>
using namespace std;

int main()
{
int a=6;
cout<<a;
retun 0;
}



а как и где это сделать в Линуксе
и как компилировать
Спасибо сказали:
Аватара пользователя
Zeus
Сообщения: 694

Re: помогите начать

Сообщение Zeus »

Набираешь всё то же в любом текстовом редакторе.
Сохраняешь в файл.
Потом в командной строке g++ имя_файла
Получишь исполняемый файл a.out
Спасибо сказали:
slutsker
Сообщения: 40
ОС: WIN XP + LINUX MANDIVA 2007

Re: помогите начать

Сообщение slutsker »

а обязательно в консоль?
я вот нашел программу KDEVELOP как там компилировать
Спасибо сказали:
Аватара пользователя
Zeus
Сообщения: 694

Re: помогите начать

Сообщение Zeus »

Я средами разработки не пользуюсь: у нас проект состоит из кучи кирпичиков-библиотек.
makefile для каждого "кирпичика" несложный.
Спасибо сказали:
slutsker
Сообщения: 40
ОС: WIN XP + LINUX MANDIVA 2007

Re: помогите начать

Сообщение slutsker »

[****@localhost ~]$ g++ file//home/****/Desktop/tray.txt
g++: file//home/*****/Desktop/tray.txt: Нет такого файла или каталога
g++: no input files
[******@localhost ~]$

что не так?
файл на рабочем столе
Спасибо сказали:
Аватара пользователя
Shura
Сообщения: 1537
Статус: Оказывается и без KDE есть жизнь
ОС: FreeBSD 8.0-RC2

Re: помогите начать

Сообщение Shura »

убери file/ из пути к файлу.
Rock'n'roll мертв © БГ
Спасибо сказали:
slutsker
Сообщения: 40
ОС: WIN XP + LINUX MANDIVA 2007

Re: помогите начать

Сообщение slutsker »

bash: /home/*****/Desktop/tray.txt: Отказано в доступе
Спасибо сказали:
Аватара пользователя
marco
Сообщения: 10
ОС: Fedora 19, Debian Wheezy

Re: помогите начать

Сообщение marco »

http://www.freebsd.org.ua/doc/ru_RU.KOI8-R...book/index.html
Написано о С и FreeBSD, но, естественно, применимо и к С++ и Linux
Спасибо сказали:
elf74
Сообщения: 482
Статус: Линуксоид-Самовар :)
ОС: Mandriva Power Pack 2008.0 LCE

Re: помогите начать

Сообщение elf74 »

slutsker писал(а):
09.07.2007 13:25
вот примеру в винде просто - заходишь в висуал студию
------ ------ ------
а как и где это сделать в Линуксе
и как компилировать


Ну, по началу... в Винде не просто заходишь в визуалу... там тоже черт ногу сломает по началу, пока поймешь что и куда нажимать... :-)
В Linux это происходит гораздо проще. С Вашего позволения приведу здесь отрывок из моего учебного пособия по программированию на С++ в Linux.
В начале необходимо создать в свое рабочей папке директории /home подпапку /Capp, в которой по умолчанию будем создавать все наши приложения. Стоит отметить, что папка может иметь и другое имя, но данном руководстве будет фигурировать именно это имя. Кроме того, в данной папке мы будем создавать поддиректории для каждого из текущих примеров следующей командой:

Код: Выделить всё

mkdir test && cd test

при помощи этой команды вы создаете новую директорию и переходите в нее.
Теперь необходимо создать файл test.cpp в любом доступном системе текстовом редакторе, к примеру это может быть любая из следующих команд (зависит от того какой из редакторов у вас установлен):

Код: Выделить всё

kate test.cpp
kwrite test.cpp
vim test.cpp
emacs test.cpp

Заполните созданный файл следующим кодом:

Код: Выделить всё

#include<iostream>
using namespace std;
int main(int argc, char ** argv) {
cout<<"Доброе утро\n";
return 0;
}

Теперь научимся создавать так называемый Makefile, в котором указываем встроенному компилятору какой файл мы хотим скомпилировать в бинарный код. Аналогично вышеуказанным способам создания текстовых файлов реализуем Makefile следующим образом:

Код: Выделить всё

test: test.cpp
    g++ -o test test.cpp

Обратите внимание, что во второй строке перед текстом обязательно должен присутствовать отступ клавишей TAB. Разберем вначале синтаксис Makefile, а затем перейдем непосредственно к синтаксису .cpp файла.
В первой строке прописывается проект который мы разрабатываем (имя будущего исполняемого файла) и файл из которого он будет скомпилирован (test.cpp). Во второй строке идет указание при помощи какого именно компилятора нужно собирать проект (в данном случае это встроенный в Linux компилятор g++, который создаст объектный файл test.o из файла test.cpp.
Чтоб собрать проект необходимо в командной строке выполнить следующую операцию

Код: Выделить всё

make test

После которой у нас получится исполняемый файл с именем test. Для его запуска наберите в командной строке следующее

на экран должно выйти сообщение:

Код: Выделить всё

Доброе утро

Можете себя поздравить – у вас получилось ваше первое в операционной системе Linux консольное приложение.
Спасибо сказали:
Аватара пользователя
Liksys
Сообщения: 2910

Re: помогите начать

Сообщение Liksys »

slutsker писал(а):
09.07.2007 14:52
[****@localhost ~]$ g++ file//home/****/Desktop/tray.txt
...

Файл TXT!!!! Исходники должны иметь расширение .cpp!!!
Спасибо сказали:
Аватара пользователя
Zeus
Сообщения: 694

Re: помогите начать

Сообщение Zeus »

elf74 писал(а):
09.07.2007 15:17

Код: Выделить всё

test: test.cpp
    g++ -o test test.cpp

Обратите внимание, что во второй строке перед текстом обязательно должен присутствовать отступ клавишей TAB.

Два отступа.
Спасибо сказали:
elf74
Сообщения: 482
Статус: Линуксоид-Самовар :)
ОС: Mandriva Power Pack 2008.0 LCE

Re: помогите начать

Сообщение elf74 »

Zeus писал(а):
09.07.2007 15:21
Два отступа.


Спасибо за замечание!!! Хорошо когда народ внимательно читает мануалы :-) Ладно еще не успел в печать отдать :-) Надо исправления внести, а то опять мучиться на занятиях придется...
Хотя, как я слышал, в книгах специально иногда делают ошибки, чтоб активизировать умственную деятельность...
Я с этим не совсем согласен: с методической точки зрения лучше научить человека "как правильно", а уж потом перед ним можно и задачки всякие ставить (пусть и с ошибками - но, желательно, реальные, такие которые могут быть применены в повседневной жизни)...
Спасибо сказали:
slutsker
Сообщения: 40
ОС: WIN XP + LINUX MANDIVA 2007

Re: помогите начать

Сообщение slutsker »

я не понимаю, так много слов ....

makefile должен быть cpp или txt

и что нет программ куда вводишь код и нажимаешь скомпилировать - неверю!!!!!!!!!!!!!!!
Спасибо сказали:
slutsker
Сообщения: 40
ОС: WIN XP + LINUX MANDIVA 2007

Re: помогите начать

Сообщение slutsker »

я может чего и не понял но под виндуусом - в 1000000 раз проще....

я создал файл cpp
пишу в онсоли g++ и его адрес (в упор не понял тот огромный пост с цитатами из книги (сочуству тем кто по ней станет учиться))))) )после чего компилируется результат ....

[****@localhost ~]$ g++ /home/***/capp/test.cpp
/home/****/capp/test.cpp:6:2: warning: no newline at end of file

уже как только не писал file// или без него.... НИЧЕГО
ОБЪЯСНИТЕ ПОЖАЛУЙСТА ПОПОРЯДКУ (желателен вариант не в консоли а в программе)
я вообще не понял цель и способ создания makefile
Спасибо сказали:
Аватара пользователя
Liksys
Сообщения: 2910

Re: помогите начать

Сообщение Liksys »

Тебе говоря, чтобы ты перевел строку в конце файла на новую.
Мейкфайлы пишутся руками (см. гугл) для автоматизации сборки программ. В сочетании с утилитами autotools можно создавать "настраиваемые" мейкфайлы для переносимых программ.
Спасибо сказали:
Аватара пользователя
Red User
Сообщения: 229
ОС: Debian

Re: помогите начать

Сообщение Red User »

slutsker писал(а):
09.07.2007 16:32
[****@localhost ~]$ g++ /home/***/capp/test.cpp
/home/****/capp/test.cpp:6:2: warning: no newline at end of file


Раз никакиех ерроров нет, то в директории, откуда ты запускал g++ (насколько я понимаю, /home/****), должен появиться файл a.out.
А ведь когда-то не боялись мы программы любой,
И с одним лишь debug'ом выходили на бой,
И искусно написанный вирус встречали как брата
Спасибо сказали:
elf74
Сообщения: 482
Статус: Линуксоид-Самовар :)
ОС: Mandriva Power Pack 2008.0 LCE

Re: помогите начать

Сообщение elf74 »

slutsker писал(а):
09.07.2007 16:32
я может чего и не понял но под виндуусом - в 1000000 раз проще....

я создал файл cpp
пишу в онсоли g++ и его адрес (в упор не понял тот огромный пост с цитатами из книги (сочуству тем кто по ней станет учиться))))) )после чего компилируется результат ....

попробуй внимательно (огромная просьба - внимательно!!!) перечитать тот самый огромный пост...
возможно ты учишься на мехмате и тебе удобнее читать лекцию выраженную в трех формулах, а та книжка была написана для студентов - будущих специалистов в области экономической информатики, сам понимаешь, надо все разжевывать...
[****@localhost ~]$ g++ /home/***/capp/test.cpp
/home/****/capp/test.cpp:6:2: warning: no newline at end of file

зачем это все писать? если у тебя есть makefile (никаких расширений не нужно - пора бы забыть о них, если ты работаешь в Linux), так вот, если у тебя есть makefile, то в консоли достаточно выполнить одну-единственную команду make и все само скомпилируется (если, конечно у тебя установлен компилятор g++)
ОБЪЯСНИТЕ ПОЖАЛУЙСТА ПОПОРЯДКУ (желателен вариант не в консоли а в программе)

а тебе какие программы нужны? консольные или оконные? может быть тебе лучше попробовать такие библиотеки как Qt Glade, для них есть и IDE и туториалы нормальные (правда в основном на английском)
Спасибо сказали:
Аватара пользователя
Uncle_Theodore
Сообщения: 3339
ОС: Slackware 12.2, ArchLinux 64

Re: помогите начать

Сообщение Uncle_Theodore »

Автору:

По пунктам:
1. Открываем редактор

Код: Выделить всё

emacs newprogram.cpp&


2. Набираем в нем текст. Сохраняем.
3. Печатаем в том же терминале команду

Код: Выделить всё

g++ newprogram.cpp -o newprogram


4. Запускаем новую программу

Код: Выделить всё

./newprogram


Все.

elf74, все, конечно, хорошо, но я бы не стал называть тестовую программу "test". Поскольку, кому-нибудь может захотеться запустить ее без дот-слэша, и тогда сработает стандартная команда test, а пользователь будет изумляться, почему вывод такой странный.
И еще. Для простенького примера Makefile -- это немножко слишком...
Спасибо сказали:
elf74
Сообщения: 482
Статус: Линуксоид-Самовар :)
ОС: Mandriva Power Pack 2008.0 LCE

Re: помогите начать

Сообщение elf74 »

Uncle_Theodore писал(а):
09.07.2007 17:41
elf74, все, конечно, хорошо, но я бы не стал называть тестовую программу "test". Поскольку, кому-нибудь может захотеться запустить ее без дот-слэша, и тогда сработает стандартная команда test, а пользователь будет изумляться, почему вывод такой странный.
И еще. Для простенького примера Makefile -- это немножко слишком...

Опять спасибо! Блин, опубликовал всего лишь три абзаца, а уже столько замечаний :) надо будет в сети выложить всю методичку, авось еще что накопаете.
----
Makefile по началу может быть и слишком, но потом ведь им еще и большие проекты писать, IMHO может лучше пусть сразу привыкают?
Спасибо сказали:
slutsker
Сообщения: 40
ОС: WIN XP + LINUX MANDIVA 2007

Re: помогите начать

Сообщение slutsker »

elf74
возможно ты учишься на мехмате и тебе удобнее читать лекцию выраженную в трех формулах

Да, ты прав - я учусь на прикладной математике - процессов управления, но если ты думаешь что специалисты экономической информатики поймут то что непонятно для людей которых только и учат разбираться во всем досконально, с самых низов, ты видимо заблуждаешься... Таких спец курсов море - главное назвать покрасивее, чтобы ребеята платили за обучение на 1000 дороже в год к примеру - менеджмент информационных систем в международных отношения.... :happy: :happy: :happy: очередь будет
ссорри за офтоп

Uncle_Theodore попробую, как только смогу отпишусь....
Спасибо сказали:
slutsker
Сообщения: 40
ОС: WIN XP + LINUX MANDIVA 2007

Re: помогите начать

Сообщение slutsker »

Uncle_Theodore,
БОЛЬШОН СПАСИБО :notworthy:
Спасибо сказали:
Аватара пользователя
minoru-kun
Сообщения: 621
ОС: Debian GNU/Linux

Re: помогите начать

Сообщение minoru-kun »

Кстати, хочу заметить, что make позволит Вам легко держать код в разных файлах без необходимости полной перекомпиляции при каждом изменении, а так же сильно автоматизирует процесс сборки. Очень, очень удобная вещь.
Спасибо сказали: