Я пытаюсь скомпилировать C-программу в системе Linux. У меня есть оператор #include
для stdlib.h
.
Когда я скомпилирую программу с помощью 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)
.