Вызов функции по указателю...
От: ynblpb  
Дата: 15.12.02 21:36
Оценка:
Вот наткнулся в одной относительно старенькой англоязычной книжке по программированию в UNIX на такой вот примерчик:


#include <stdio.h>
#include <math.h>
main(argc,argv)
int argc;
char* argv[];
{
double base,power;
double (*mtab[10])();
if(argc!=3)
{
fprintf(stderr,"Usage: %s base power \n",argv[0]);
exit(1);
};
base=atof(argv[1]);
power=atof(argv[2]);
mtab[0]=pow;
printf("%g\n",(*mtab[0])(base,power));
}


Попытался скомпилить в ASP Linux 7.3 в Кdevelop`е и просто сс
кричит что неопределенная ссылка функции pow..
Подскажите плз в чем может быть проблема. Если кому не трудно можть видел другой, но работающий пример похожего содержания?
можть и я вам когда-нибудь помогу
Re: Вызов функции по указателю...
От: DSD Россия http://911.ru/cv
Дата: 16.12.02 06:52
Оценка:
Здравствуйте, ynblpb, Вы писали:

Y>Попытался скомпилить в ASP Linux 7.3 в Кdevelop`е и просто сс

Y>кричит что неопределенная ссылка функции pow..
Y>Подскажите плз в чем может быть проблема. Если кому не трудно можть видел другой, но работающий пример похожего содержания?

Как говорил великий Ленин: man, man и еще раз man!!!


Итак, набираем в комманд лайне: man pow

bash-2.05a$ man pow
Formatting page, please wait...Done.
EXP(3)                 FreeBSD Library Functions Manual                 EXP(3)

NAME
     exp, expf, exp10, exp10f, expm1, expm1f, log, logf, log10, log10f, log1p,
     log1pf, pow, powf - exponential, logarithm, power functions

LIBRARY
     Math Library (libm, -lm)

SYNOPSIS
     #include <math.h>

     ...

     double
     pow(double x, double y);

     ...

DESCRIPTION
     ...

Видишь, что я жирным выделил?
стало быть компилим(пусть твой файл называется pow.c):
cc pow.c -lm -o pow


не знаю, как в ASP Linux 7.3, но вна фряхе все работает
--
DSD
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.