Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: Ошибка компиляции, нет файла iostream.h  (Прочитано 18100 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн F1asher_086

  • Автор темы
  • Любитель
  • *
  • Сообщений: 60
    • Просмотр профиля
Начал изучать ЯП C++ переписал из учебника простенькую программку вывода
// Программа "Дважды два"
#include <iostream.h>
int main()
{ cout << "2 * 2 =" << 2 * 2 << end1;
return 0;
}

При компиляции возникает ошибка импорта библиотеки iostream:
~$ gcc ~/2+2.cpp

         ~/2+2.cpp:3:22: фатальная ошибка: iostream.h: Нет такого файла или каталога
         компиляция прервана.
Не могу понять в чем дело. Погуглил: в интернетах везде пишут, что ввод/вывод осуществляется библиотекой iostream.
В чем пробема?

Оффлайн yorik1984

  • Заслуженный пользователь
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 1592
  • Кто не хочет, ищет причины
    • Просмотр профиля
Re: Ошибка компиляции, нет файла iostream.h
« Ответ #1 : 12 Мая 2012, 22:34:01 »
Код: (c) [Выделить]
#include <iostream>так надо )))
Плохо учите язык...

Оффлайн F1asher_086

  • Автор темы
  • Любитель
  • *
  • Сообщений: 60
    • Просмотр профиля
Re: Ошибка компиляции, нет файла iostream.h
« Ответ #2 : 13 Мая 2012, 09:51:04 »
// Программа "Дважды два"
#include <iostream>
int main()
{ cout << "2 * 2 =" << 2 * 2 << end1;
return 0;
}

В том то и дело , что это тоже не работает:
~$ gcc '/home/some_user/2+2.cpp'
/home/some_user/2+2.cpp: В функции «int main()»:
/home/some_user/2+2.cpp:4:3: ошибка: нет декларации «cout» в этой области видимости
/home/some_user/2+2.cpp:4:3: замечание: suggested alternative:
/usr/include/c++/4.6/iostream:62:18: замечание:   «std::cout»
/home/some_user/2+2.cpp:4:33: ошибка: нет декларации «end1» в этой области видимости

Lifewalker

  • Гость
Re: Ошибка компиляции, нет файла iostream.h
« Ответ #3 : 13 Мая 2012, 09:58:53 »
Господи, где вы находите учебники 15-летней давности? Эти ошибки свойственны древним как ГМ вариантам Си++

// Программа "Дважды два"

// ошибка
// #include <iostream.h>
// нужно так
#include <iostream>

int main()
{
   // тут аж две ошибки. Во-первых пропущен std::
   // во-вторых вместо end1 (end один) нужно писать std::endl (END Line)
   // cout << "2 * 2 =" << 2 * 2 << end1;
   // нужно так
   std::cout << "2 * 2 =" << 2 * 2 << std::endl;
   return 0;
}
Если задолбает каждый раз ставить std::, можно в начале импортнуть пространство имён
#include <iostream>
using namespace std;
// далее по тексту

А лучше всего забейте вы на идиотский Си++ и учите нормальный вменяемый язык типа Модула-2, Оберон-2 или Zonnon. Ну или Ада наконец :)
« Последнее редактирование: 13 Мая 2012, 10:01:50 от Lifewalker »

Оффлайн F1asher_086

  • Автор темы
  • Любитель
  • *
  • Сообщений: 60
    • Просмотр профиля
Re: Ошибка компиляции, нет файла iostream.h
« Ответ #4 : 13 Мая 2012, 13:57:28 »
Lifewalker, Спасибо, помогло.

Подскажите кто-нибудь, пожалуйста, более новый учебник по c++, желательно на русском, а то, я так думаю, я неправильно выучу язык.

Оффлайн yorik1984

  • Заслуженный пользователь
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 1592
  • Кто не хочет, ищет причины
    • Просмотр профиля
Re: Ошибка компиляции, нет файла iostream.h
« Ответ #5 : 13 Мая 2012, 14:01:09 »
вариантов много. Все зависит от начального уровня. Вам надо изучить С++, или программированние с помощью С++. Это разное. В первом случае учебники ориентированны на людей, знакомых с программированием, но в других языках. А во втором случае для "чайников" в этой сфере.

Оффлайн VlaoMao

  • Активист
  • *
  • Сообщений: 308
  • ArchLinux - eMachines e725 && Nokia N950
    • Просмотр профиля
Re: Ошибка компиляции, нет файла iostream.h
« Ответ #6 : 15 Мая 2012, 07:19:49 »
А лучше всего забейте вы на идиотский Си++ и учите нормальный вменяемый язык типа Модула-2, Оберон-2 или Zonnon. Ну или Ада наконец :)
Много ли программ на текущий момент актуальных на этих языках?
Вообще не советуйте человеку, на чём писать, он не для этого пришёл.

Lifewalker

  • Гость
Re: Ошибка компиляции, нет файла iostream.h
« Ответ #7 : 15 Мая 2012, 08:17:23 »
Много ли программ на текущий момент актуальных на этих языках?
Вообще не советуйте человеку, на чём писать, он не для этого пришёл.
Второе утверждение вступает в логическую конфронтацию с первым. Сначала вы задаёте уточняющий вопрос, затем затыкаете мне рот, явно давая понять, что не желаете меня слушать. У программиста с логикой должна быть друуужба. Вы программист? ;)

Следует заметить, я дал не только совет, но и решил его проблему; возможно вы проглядели мою подсказку?

Достаточно того, что на подсказанных мною языках пишут программы для спутников, атомных электростанций, управления метрополитеном и так далее. На Си++ их не пишут, потому что Си++ чудовищен, труден, опасен... в общем непригоден для серьёзной работы. Так, баловство, используемое по инерционному недоразумению. Там, где программист на Обероне-2 закончит и сдаст в эксплуатацию модуль, программист на Си++ доберётся до решения проблемы с множественным наследованием, друзьями класса, перегрузкой операторов и разгребёт наконец запутанные вложенные импорты заголовков. В общем, продуктивность ого-го! :)

Оффлайн Señor_Gaga

  • Забанен
  • Активист
  • *
  • Сообщений: 878
  • Ubuntu 12.04LTS & Linux Mint 13LTS "Maya"
    • Просмотр профиля
Re: Ошибка компиляции, нет файла iostream.h
« Ответ #8 : 15 Мая 2012, 08:40:08 »
А лучше всего забейте вы на идиотский Си++ и учите нормальный вменяемый язык типа Модула-2, Оберон-2 или Zonnon. Ну или Ада наконец :)
Много ли программ на текущий момент актуальных на этих языках?
Вообще не советуйте человеку, на чём писать, он не для этого пришёл.

В настоящее время язык Модула-2 используется для программирования бортового программного обеспечения спутников, запускаемых в рамках проекта ГЛОНАСС
----
Проекты, использующие Модулу-3

Операционная система SPIN была написана на Модуле-3. Интерфейсы ядра совместимы с DEC Unix.
CVSup — программа для синхронизации репозиториев, также написана на Модуле-3.
----
Операционные системы, написанные на Аде
MaRTE
RTEMS — ОС с открытым исходным кодом, разработана DARPA МО США
Ravenskar
RTOS-32 — проприетарная ОС

Lifewalker

  • Гость
Re: Ошибка компиляции, нет файла iostream.h
« Ответ #9 : 15 Мая 2012, 11:10:18 »
Понимаете, уважаемый Señor_Gaga, в головах «профессионалов» язык, не позволяющий написать фигню вроде
int main(void)
{
    int i;
    if (i=i++ - ++i) --i;
    return i;
}
не язык вовсе, а так, недоразумение. И ведь этот бред компилируется без ошибок и даже выполняется! Лично я вообще не понимаю, что я тут написал и не представляю что вернёт i, но компилятор понимает и не ругается ни разу. «Профессионалы» видимо тоже увидят в этом сакральный смысл :)

Оффлайн VlaoMao

  • Активист
  • *
  • Сообщений: 308
  • ArchLinux - eMachines e725 && Nokia N950
    • Просмотр профиля
Re: Ошибка компиляции, нет файла iostream.h
« Ответ #10 : 15 Мая 2012, 19:31:53 »
Уважаемый Lifewalker, я нисколько не сомневаюсь в Ваших возможностях насрать в теме, но всё же, ответ дали, прекращаем флудить-то, ок?

Оффлайн yorik1984

  • Заслуженный пользователь
  • Почётный модератор
  • Старожил
  • *
  • Сообщений: 1592
  • Кто не хочет, ищет причины
    • Просмотр профиля
Re: Ошибка компиляции, нет файла iostream.h
« Ответ #11 : 15 Мая 2012, 19:36:17 »

А лучше всего забейте вы на идиотский Си++ и учите нормальный вменяемый язык типа Модула-2, Оберон-2 или Zonnon. Ну или Ада наконец :)

А что вы скажете о скриптовых языках типа Руби, Питон, Перл ? Которые являются интерпретируемыми.

Мое мнение такое. Надо учить не конкретный язык и применять во всех местах. А то будет как в
(Нажмите, чтобы показать/скрыть)
. И еще один....
(Нажмите, чтобы показать/скрыть)
.
От себя добавлю. Начал учить руби. Пытался очень долго осилить Си и Си++. Так и не понял про ООП. Хотя руби тоже является ООП-ориентированнын языком. Но там как не страно, авторы учебников более наглядно и проще объясняют построение программ с помощью этого метода.

Не могу не согласится с высказыванием Вирта
Цитировать
Никлаус Вирт, создатель языков Паскаль и Модула, один из создателей структурного программирования, утверждает, что ООП — не более чем тривиальная надстройка над структурным программированием, и преувеличение её значимости, выражающееся, в том числе, во включении в языки программирования всё новых модных «объектно-ориентированных» средств, безусловно, вредит качеству разрабатываемого программного обеспечения. Никлаус очень удивлен тем вниманием, которое уделяется ныне ООП.
Взято отсюда http://blogerator.ru/page/oop_why-objects-have-failed

Сколько себя помню, всегда мыслил "процедурно", тоесть структурно.

Оффлайн Señor_Gaga

  • Забанен
  • Активист
  • *
  • Сообщений: 878
  • Ubuntu 12.04LTS & Linux Mint 13LTS "Maya"
    • Просмотр профиля
Re: Ошибка компиляции, нет файла iostream.h
« Ответ #12 : 15 Мая 2012, 20:27:53 »
Lifewalker

if (i=i++ - ++i) --i; // самый отстойный код, какой я видел

Сам предпочитаю, за редкими исключениями вместо i++ писать i = i + 1;

Lifewalker

  • Гость
Re: Ошибка компиляции, нет файла iostream.h
« Ответ #13 : 15 Мая 2012, 20:51:39 »
А что вы скажете о скриптовых языках типа Руби, Питон, Перл ? Которые являются интерпретируемыми.

А как вы думаете я отношусь к этим … средствам, если единственно расово-верными языками считаю Модулу и Оберон? :)

Руби представляет собой что-то интересное, любопытная игрушка. От Перла ничего кроме испуга испытать невозможно, это же катастрофа. Питон напомнил мне Фортран: я в ужасе от языка, в котором поведение программы можно изменить форматированием текста. В целом не понимаю, как можно писать что-то вменяемое на этих языках. Когда сегодня вижу пол-дистрибуитва на Питоне едва не рыдаю. От впустую потраченного времени программистов (на Обероне то же самое можно было сделать в два раза быстрее и надёжнее) и от изведённых впустую ресурсов (на Обероне то же самое может жрать в 10 раз меньше памяти и в 3 раза меньше тактов процессора).
« Последнее редактирование: 15 Мая 2012, 20:56:08 от Lifewalker »

Оффлайн RazrFalcon

  • O_o
  • Старожил
  • *
  • Сообщений: 3129
  • Zombie Mod
    • Просмотр профиля
    • Я на GitHub
Re: Ошибка компиляции, нет файла iostream.h
« Ответ #14 : 15 Мая 2012, 21:02:45 »
Ваше мнение можно было бы учитывать, если бы оно было не настолько переполнено фанатизмом.

Еще бы услышать ваше мнение о java/С# и подобных языках, с виртуальной машиной-компилятором.

PS: пишу на Qt(который не c++, а moc  ;)) И не сказал бы что доволен... Но аналогов не вижу, кроме D.
Gentoo + KDE, Official Windows Hater
Хотите помочь нашей вики: https://help.ubuntu.ru/wiki/fixme

 

Страница сгенерирована за 0.058 секунд. Запросов: 25.