ctime и time предупреждения компиляции на OSX - PullRequest
0 голосов
/ 18 февраля 2011

Я получаю некоторые предупреждения при компиляции программы на C для OSX 10.6.5, которые кажутся весьма критичными.

extras.c:15: warning: implicit declaration of function ‘time’
extras.c: In function ‘outlog’:
extras.c:363: warning: implicit declaration of function ‘ctime’

Соответствующие строки выглядят следующим образом:

Строки 13-15:

RANDNUMGEN = gsl_rng_alloc(gsl_rng_taus);
long t1;
(void) time(&t1);

Строки 360-363:

if (LOG==NULL) { LOG=stdout;}

TVAL = time(NULL);
char* TIMESTRING = ctime(&TVAL);

Я считаю, что программа изначально была написана для Linux, поэтому мне интересно, есть ли разница между time и ctime на двух платформах?

1 Ответ

3 голосов
/ 18 февраля 2011

Убедитесь, что файлы C содержат:

#include <time.h>

где-то вокруг вершины.

Кроме того,

long t1;
time(t1);

- довольно паршивый код, аргумент time() имеет тип time_t*, поэтому следует читать

time_t t1;
time(&t1);
...