LINUX.ORG.RU

GCC C++


0

0

Извиняюсь за глупый вопрос.
Компилирую хеллоуворд из Википедии
#include <iostream> // это необходимо для std::cout и std::endl

int main()
{
std::cout << "Hello, world!" << std::endl;
}


gcc hello.cpp
Выскакивает куча варнингов. Ясно что делаю что-то не так, подозреваю что опции командной строки.


Во-первых, забыл "return 0;" перед закрывающей фигурной скобкой.

Во-вторых, не gcc, а g++.

Manhunt ★★★★★
()

g++ hello.cpp

anonymous
()

стоит попробовать g++

lester ★★★★
()

потому что нужно использовать g++

g
()

я рекомендовал бы попробовать g++

jtootf ★★★★★
()

По-моему, без g++ тут не обойтись.

mv ★★★★★
()

o_O Парад капитанов

anonymous
()
Ответ на: комментарий от Manhunt

>Во-первых, забыл "return 0;" перед закрывающей фигурной скобкой.

Не забыл, он знал, что стандартом "return 0" в main подразумевается, и не является обязательным, даже если main объёявлена как int.

devinull ★★
()

тут знающие подсказывают почти шепотом: use g++, Luke.

xydo ★★
()
Ответ на: комментарий от anonymous

>Можно пруфлинк? В MSVC раньше были серьезные глюки в связи с этим

ISO/IEC 14482:

3.6.1.5: "...if control reaches the end of main without encountering a return statement, the effect is that of executing return 0;"

jtootf ★★★★★
()

Тут многие советуют использовать g++. Это самый простой способ, но не единственный.

gcc -x c++ -lstdc++ hello.cpp

anonymous
()

Как раз недавно из авторитетных источников стало известно, что надо использовать g++

Waterlaz ★★★★★
()
Ответ на: комментарий от kemm

>Перепись населения лора?

Ага. Всех неотписавшихся забанят =)

Waterlaz ★★★★★
()

Всем спасибо.

Почему то во всех руководствах пишется что используется тот же самый ГЦЦ что и при соцыализме^W, а таких подробностей не сообщают.

(ну или сообщают, а я не дочитываю :))

Кстати: gcc -x c++ -lstdc++ hello.cpp

Что значит -lstdc++ ?

Потому что: gcc -x c++ hello.cpp - я уже пробовал - не помогло.

knkd
() автор топика

>gcc hello.cpp

:D

Спасибо мен, я прам от души прожрался!!!

ЗЫ Поробуй: bash hello.cpp, вдруг в него интерпритатор встроен?!

erfea ★★★★★
()
Ответ на: комментарий от anonymous

Тут многие советуют использовать g++. Это самый простой способ, но не единственный.

gcc -x c++ -lstdc++ hello.cpp

А можно вызывать cc1plus и ld и подсовывать все либы и объектники руками.

const86 ★★★★★
()

хоть тут и куча капитанов, рекомендующих пользоваться g++ поясняю, что gcc сам довольно удачно справляется с компиляцией .cpp файлов, если стоит g++ (так как он понимает, что *.cpp - это C++ и запускает g++)

maloi ★★★★★
()
Ответ на: комментарий от erfea

>>>gcc hello.cpp
>>Поробуй: bash hello.cpp, вдруг в него интерпритатор встроен?!

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

knkd@knkd:~$ cd test
knkd@knkd:~/test$ ls
hello.cpp
knkd@knkd:~/test$ bash hello.cpp
knkd@knkd:~/test$ ls
hello.cpp hello.out
knkd@knkd:~/test$ chmod +x hello.out
knkd@knkd:~/test$ ./hello.out
Hello, world!
knkd@knkd:~/test$

А пока зелёненький думает что написано в hello.cpp...

Вот например в "Изучаем C++ (Для школьников) (Крупник) [2004].djvu" тоже везде приводит "gcc hello.cpp" и во многих других книжках для чайников. У них что не тот ГЦЦ? Или они просто скромно опускают такие мелочи? (паразиты эдакие)

knkd
() автор топика
Ответ на: комментарий от hello_world

>>>Use Microsoft Visual Studio Luke! Это то что нарисовано на вашей аватаре? Что-то она мне не нравится.

knkd
() автор топика
Ответ на: комментарий от hello_world

>>>по крайней мере я осилил форматирование текста
Но мы же взрослые люди! (с) - 21 сантиметр.

knkd
() автор топика

а можно еще тупо c++

$ c++ hello.cpp $ ./a.out Hello, world

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.