【发布时间】:2011-02-04 00:32:29
【问题描述】:
我正在尝试在 Linux 系统上编译 C 程序。我有stdlib.h 的#include 声明。
当我用gcc 编译程序如下:
gcc -std=c99 -g -o progfoo progfoo.c progbar.c
我收到有关 Implicit declaration of function [srand48, drand48, bzero, or close] 的警告。
编译为:
gcc -g -o progfoo progfoo.c progbar.c
没有给我警告,但它确实对我使用for 循环大喊大叫(这是首先添加-std=c99 的理由)。
鉴于man srand48 提到包括<stdlib.h>,我不确定还有什么问题。 for 循环对任何事情都不是必需的(它们只是为了节省初始化数组的时间)所以我可以毫无问题地删除它们,但在我这样做之前,我想确认 c99 标准是否正在取代一些我的#include 声明的一个方面。
我正在使用gcc 4.1.2-50 (Red Hat)。
【问题讨论】: