0

在 OSX 10.6.5 上编译 C 程序时,我收到了一些警告,这似乎非常关键。

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

4

1 回答 1

3

验证 C 文件是否包含:

#include <time.h>

顶部附近的某个地方。

还,

long t1;
time(t1);

是非常糟糕的代码,参数time()有 type time_t*,所以应该读

time_t t1;
time(&t1);
于 2011-02-18T12:42:29.130 回答