Я пытаюсь скомпилировать 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).