LINUX.ORG.RU

прототип getdtablesize() в unistd.h


0

0

Написал программу ( Slackware 12.0 ) в которой есть функция getdtablesize(),для которой необходимо включать unistd.h . Скомпилировал с опцией -std=c99. gcc говорит что нет прототипа для getdtablesize(). Действительно прототип в unistd.h закрыт условнойй компиляцией:

#if defined USE_BSD || defined __USE_OPEN_EXTENDED

Как разобраться ,что нужно определять? Вообще-то не хотелось бы привязываться к конкретной версии UNIX в частности BSD. Хотелось бы писать универсальные программы .


Ответ на: комментарий от mono

MyMac:Desktop mono$ gcc -v
Using built-in specs.
Target: i686-apple-darwin9
Configured with: /var/tmp/gcc/gcc-5490~1/src/configure --disable-checking -enable-werror --prefix=/usr --mandir=/share/man --enable-languages=c,objc,c++,obj-c++ --program-transform-name=/^[cg][^.-]*$/s/$/-4.0/ --with-gxx-include-dir=/include/c++/4.0.0 --with-slibdir=/usr/lib --build=i686-apple-darwin9 --with-arch=apple --with-tune=generic --host=i686-apple-darwin9 --target=i686-apple-darwin9
Thread model: posix
gcc version 4.0.1 (Apple Inc. build 5490)

mono ★★★★★
()

Смотри features.h.

В данном случае можно задефайнить _BSD_SOURCE или _GNU_SOURCE.

const86 ★★★★★
()

> Скомпилировал с опцией -std=c99

попробуйте с опцией -std=gnu99

Eshkin_kot ★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.