Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Программирование и базы данных (http://forum.oszone.net/forumdisplay.php?f=21)
-   -   сс helloworld.cpp (http://forum.oszone.net/showthread.php?t=107475)

mrcnn 21-05-2008 20:48 807996

сс helloworld.cpp
 
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

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

OS: freebsd 6

mrcnn 21-05-2008 21:58 808031

g++ helloworld.cpp

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

Coutty 21-05-2008 22:21 808041

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

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

ivank 21-05-2008 23:14 808081

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

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

Цитата:

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

Потому что по стандарту (уже десять лет как) не следует (deprecated) писать #include<iostream.h> (который объявлял cout в глобальной области видимости). iostream.h сохраняется только для совместимости со старым кодом. И совместимость эта может в любой момент прекратиться.


Время: 18:03.

Время: 18:03.
© OSzone.net 2001-