Войти

Показать полную графическую версию : сс helloworld.cpp


mrcnn
21-05-2008, 20:48
helloworld.cpp

Содержимое:
1 вариант

#include <iostream>
int main(){
cout << "Hello,world!\n";
return 0;
}

2 вариант
#include <iostream.h>
int main(){
cout << "Hello,world!\n";
return 0;
}

Ввожу в консоли: сс helloworld.cpp

Вариант 1:
объявляет: error: что такое cout не понимаю (cout undeclared)

Всякие танцы с бубном типа ::cout и std::cout не помогают. В первом случае - undeclared, во втором те же ошибки что и при написании варианта 2

Вариант 2
http://ipicture.ru/uploads/080521/PGznePz99M.gif
Если картинка не показывается адрес: http://ipicture.ru/uploads/080521/PGznePz99M.gif

Побочный вопрос: как организовать перенаправление вывода ошибок на консоли в файл у команды cc file
сс helloworld.cpp >некий_файл (ошибки выдает только на экран, а не в файл.)

OS: freebsd 6

mrcnn
21-05-2008, 21:58
g++ helloworld.cpp

скомпилилось.

Coutty
21-05-2008, 22:21
Посмотрел в линуксе - та же фигня. cc и gcc не компилят, а g++ только с объявлением std:: или using namespace std;
Непонятно в чём дело...

Насчёт вывода текста ошибок в файл, видимо, следует читать мануал. Наверняка там есть специальная опция.

ivank
21-05-2008, 23:14
mrcnn, cc (в большинстве современных систем - синоним gcc) это компилятор C, вы ему суёте исходник на C++, он справедливо плюётся. Надо брать C++ компилятор (например g++). Чуть более поздняя поправка: На самом деле gcc вполне компилирует c++, но не линкует lbstdc++ (стандартную библиотеку C++), отсюда и ошибки.

Для перенаправления потока ошибок используется конструкция 'program and args 2> file'.

Посмотрел в линуксе - та же фигня. cc и gcc не компилят, а g++ только с объявлением std:: или using namespace std;
Непонятно в чём дело... »
Потому что по стандарту (уже десять лет как) не следует (deprecated) писать #include<iostream.h> (который объявлял cout в глобальной области видимости). iostream.h сохраняется только для совместимости со старым кодом. И совместимость эта может в любой момент прекратиться.




© OSzone.net 2001-2012