Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Linux FC5 +C

6.8K
20 сентября 2006 года
byff
38 / / 01.07.2006
Есть код на сях, как его скомпилировать в линуксе? gcc -test дает test.out , который исполняется, но что с ним дальше делать?
240
20 сентября 2006 года
aks
2.5K / / 14.07.2006
Странный вопрос - исполнять =)
Собственно что ты хочешь сделать то вобще? И читай man по gcc
12K
20 сентября 2006 года
Apelsin
21 / / 06.07.2006
gcc -c file.c
gcc file.o // линковка

file.c имя файла и листингом программы. Обязательно указывать нужно расширение
после этого в твоем каталоге если все прошло успешно будет исполняемый файл программы a.out
6.8K
30 сентября 2006 года
byff
38 / / 01.07.2006
Вообще не понимаю
объясните плс
Есть куча исходников которые нормально компилируются под win на с и с++
На С я скомпилировал и оплучил оут файл.
на С++ же получил следующее
Код:
gcc 1.cpp
1.cpp:7:2: warning: no newline at end of file
/tmp/cc7fUbY6.o: In function `__static_initialization_and_destruction_0(int, int)':
1.cpp:(.text+0x23): undefined reference to `std::ios_base::Init::Init()'

/tmp/cc7fUbY6.o: In function `__tcf_0':
1.cpp:(.text+0x6c): undefined reference to `std::ios_base::Init::~Init()'

/tmp/cc7fUbY6.o: In function `main':
1.cpp:(.text+0x8e): undefined reference to `std::cout'

1.cpp:(.text+0x93): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)'
1.cpp:(.text+0x9b): undefined reference to `std::basic_ostream<char, std::char_traits<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&)'

1.cpp:(.text+0xa3): undefined reference to `std::basic_ostream<char, std::char_traits<char> >::operator<<(std::basic_ostream<char, std::char_traits<char> >& (*)(std::basic_ostream<char, std::char_traits<char> >&))'
/tmp/cc7fUbY6.o:(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'

collect2: ld returned 1 exit status

это при компиляции простейшей программы.
Вообще как правильно писать на этих языках под линуксом? Купил кучу литературы а там как всегда ничего о процессе компиляции нет.
2
30 сентября 2006 года
squirL
5.6K / / 13.08.2003
почитать man gcc, info gcc, прикрепленные топики с литературой. gcc по другому обрабатывает исходники чем Visual C++, например. покажи свою простейшую программу, на ее примере разберем как что делать на С++ для gcc
361
30 сентября 2006 года
Odissey_
661 / / 19.09.2006
попробуй добавить
using namespace::std
6.8K
30 сентября 2006 года
byff
38 / / 01.07.2006
#include <iostream>

int main()
{
std::cout << "123" << std::endl;
return 0;
}

Результат

Код:
gcc 1.cpp
1.cpp:8:2: warning: no newline at end of file
/tmp/ccW4hc6F.o: In function `__static_initialization_and_destruction_0(int, int)':
1.cpp:(.text+0x23): undefined reference to `std::ios_base::Init::Init()'

/tmp/ccW4hc6F.o: In function `__tcf_0':
1.cpp:(.text+0x6c): undefined reference to `std::ios_base::Init::~Init()'

/tmp/ccW4hc6F.o: In function `main':
1.cpp:(.text+0x8e): undefined reference to `std::cout'

1.cpp:(.text+0x93): undefined reference to `std::basic_ostream<char, std::char_traits
<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::cha
r_traits<char> >&, char const*)'
1.cpp:(.text+0x9b): undefined reference to `std::basic_ostream<char, std::char_traits
<char> >& std::endl<char, std::char_traits<char> >(std::basic_ostream<char, std::char                         _traits<char> >&)'

1.cpp:(.text+0xa3): undefined reference to `std::basic_ostream<char, std::char_traits                         <char> >::operator<<(std::basic_ostream<char, std::char_traits<char> >& (*)(std::basi                         c_ostream<char, std::char_traits<char> >&))'
/tmp/ccW4hc6F.o:(.eh_frame+0x11): undefined reference to `__gxx_personality_v0'

collect2: ld returned 1 exit status
2
01 октября 2006 года
squirL
5.6K / / 13.08.2003
:) а попробуй собирать не с помощью gcc, а с пом. g++
6.8K
01 октября 2006 года
byff
38 / / 01.07.2006
Спасибо! g++ сработал. Правда придирчивый он какой =)
2
01 октября 2006 года
squirL
5.6K / / 13.08.2003
хы хы... ты ему опцию -Wall добавь, совсем удивишся. впринципе - можешь использовать и gcc, но тогда явно объясни, что ты компилируешь С++. по моему, так:
gcc -x c++ -lstdc++
240
01 октября 2006 года
aks
2.5K / / 14.07.2006
Весь косяк в том, что при вызове gcc не подключается standart С++ library. Поэтому и не может найти исспользуемые оттудова объекты и типы. Подключить ее можно вручную, как показал squirL. g++ исспользует тот же самый компилятор, но подключает библиотеку сразу, тоесть и создан для удобства. По сути и gcc и g++ просто вызыывают один компилятор, линковщик и т.п. с разными ключами.
2
01 октября 2006 года
squirL
5.6K / / 13.08.2003
да это не косяк, а нормальное поведение. "базовым" языком для никсов пока еще является С. да и вообще - С и С++ разные языки. вас же не удивляет, что gcc по дефолту java или fortran не обрабатывает? хотя могет ;)
240
02 октября 2006 года
aks
2.5K / / 14.07.2006
"Косяк" имелся ввиду у автора. =)) Тоесть причина, по которой у него не работало =))
А поведение естественно нормальное. Правда язык он и по расширению исходников определяет. Так что gcc компилирует сам c++ код вполне нормально без всяких дополнительных ключей даже, а вот библиотеку стандартную не подключает.
6.8K
02 октября 2006 года
byff
38 / / 01.07.2006
На сайте есть список функций с++ для юникса. А где можно найти более полный списокфункций поддерживаемых gcc с описанием пусть даже на английском.
К примеру функции вроде istr я найти не смог нигде. В man не нашел.
2
03 октября 2006 года
squirL
5.6K / / 13.08.2003
да когда же вы уже гуглом научитесь пользоваться...
http://gcc.gnu.org/onlinedocs/libstdc++/documentation.html
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог