Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Копилятор gcc

Модерирует : ShIvADeSt

 Версия для печати • ПодписатьсяДобавить в закладки

Открыть новую тему     Написать ответ в эту тему

cyberfreak



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Возникла необходимость откомпилить небольшую приблуду под Linux. Столкнулся с проблемой. При попытке компиляции вот такого вот кода (например)
Код:
#include <stdio.h>
#include <math.h>
 
main()
{
printf("%d\n", floor(123.45678));
}
gcc ругается на функцию floor(), грит типа unreferenced... или undefined... не помню точно, чего там un... Тоже самое произходит с функцией pow() из той же библиотеки (math.h). Другие не пробовал, ибо меня интересуют именно эти. С функциями же библиотеки stdio.h почему-то такого не происходит. Я так понимаю надо какие-то ключики задействовать. Вот какие? Вдогонку еще такой вопрос (походу из той же серии): при использовании потоков ввода/ввыда C++ (cin/cout), компилятор тоже сильно ругается. Что делать?

Всего записей: 197 | Зарегистр. 08-07-2004 | Отправлено: 15:58 26-10-2004
fuxx

Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
1. flor/pow
Добавь опцию -lm в конце строки компоновки:

Код:
 
gcc -с test.c -o test.o
gcc -o test test.o -lm
 

 
2. cin/cout
Компилируй компилятором g++, а не gcc. Это то же самое, но знает какие ключики подставить для правильной компиляции C++ кода.
 

Всего записей: 117 | Зарегистр. 14-04-2003 | Отправлено: 16:52 26-10-2004
ArtSh

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
cyberfreak

Цитата:
при использовании потоков ввода/ввыда C++ (cin/cout)

Если gcc свежий то советую использовать во первых g++ и #include <iostream>, а во вторых using namespace std, или std::cin std::cout

Всего записей: 92 | Зарегистр. 30-03-2004 | Отправлено: 21:59 26-10-2004
Swappp

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
cyberfreak

Цитата:
при использовании потоков ввода/ввыда C++ (cin/cout), компилятор тоже сильно ругается. Что делать?

Во-первых, как сказано выше используй g++, во-вторых

Код:
#include <iostream>
using namespace std;

Всего записей: 1716 | Зарегистр. 02-11-2001 | Отправлено: 22:02 26-10-2004 | Исправлено: Swappp, 22:03 26-10-2004
cyberfreak



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ok, всем спасибо!

Всего записей: 197 | Зарегистр. 08-07-2004 | Отправлено: 15:15 27-10-2004
1lex1

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как создать беззнаковую целочисленную переменную? Скомпилировал
Код:
int main()
{
    unsigned x,y,z;
    x=1000000000;
    printf("%d\n",x);
    y=x+x;
    printf("%d\n",y);
    z=y+x;
    printf("%d\n",z);
    y=z+x;
    printf("%d\n",y);
    z=y+x;
    printf("%d\n",z);
    scanf("%d",&x);
}
Запустил и получил
Цитата:
1000000000
2000000000
-1294967296
-294967496
705032704
Вместо ожидаемого
Цитата:
1000000000
2000000000
3000000000
4000000000
705032704

Или нужно использовать другой компилятор?

Всего записей: 278 | Зарегистр. 22-11-2013 | Отправлено: 11:27 03-01-2016
ne_viens

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
printf("%u\n",x); printf("%u\n",y); ...

Всего записей: 1525 | Зарегистр. 01-11-2004 | Отправлено: 15:24 03-01-2016
Открыть новую тему     Написать ответ в эту тему

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Копилятор gcc


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru