Страница 1 из 1
не определяется функция rand_r
Добавлено: 06 июл 2009, 15:06
chturm
собственно при компиляции все норм,а программа не может запуститься
undefined reference to `rand_r'
подключены
Код: Выделить всё
#include<iostream.h>
#include <stdlib.h>
using namespace std;
в чем может быть проблема?
Re: не определяется функция rand_r
Добавлено: 06 июл 2009, 18:51
Romeo
Можно немного подробней? Если код стесняешься выложить, то хотя бы назови операционную система и компилятор.
Re: не определяется функция rand_r
Добавлено: 06 июл 2009, 19:12
chturm
Вот фраглет кода на который ругается компилятор:
Код: Выделить всё
int k = 8;
int arr[n] [k];
for (int i = 0; i < n; i++)
for (int j = 0; j < k; j++)
arr[i] [j] = 0 + rand_r()%2;
std::cout<<"isxodnbiyi signal=";
cout<<std::endl;
for (int i = 0; i < n; i++)
for (int j = 0; j < k; j++)
std::cout<<arr[i] [j]<<" ";
cout<<std::endl;
int a = 0 + rand_r()%(n-7);
ОС : XP
Компилятор : gcc
Re: не определяется функция rand_r
Добавлено: 06 июл 2009, 21:34
rrrFer
возможно проблема в том что он не может найти rand_r() т.е. без параметров как вы его вызываете. Вот тут:
http://www.sbras.ru/cgi-bin/www/unix_he ... -man?srand про него написано, а именно int rand_r(unsigned *ctx);
Вот тут есть пример:
http://www.linux.org.ru/view-message.jsp?msgid=3145415
Re: не определяется функция rand_r
Добавлено: 06 июл 2009, 21:50
Romeo
А вообще лучше всего пользуйся сочетанием srand(time(NULL)) (в начале один раз) и затем rand() без параметров и будет тебе счастье.
Re: не определяется функция rand_r
Добавлено: 06 июл 2009, 23:51
chturm
Все заработало)
Спасибо!))