статическое объявление 'close' следует за нестатическим объявлением static inline int close (int sock) - PullRequest
1 голос
/ 15 марта 2019

Я развивался в c около 6 месяцев, и я очень смущен тем, что здесь происходит вообще.Я получаю эту ошибку при попытке включить заголовочные файлы socket.h.

static inline int close(int sock)
{
    return zsock_close(sock);
}

это метод, с которым, похоже, возникают проблемы?и я получаю это от сборки.

In file included from /home/jordan/zephyr/zephyr/include/posix/pthread.h:13:0,
                 from /home/jordan/thrift/src/c/zephyr/mbedtlstest/../../../../include/thrift/os.h:10,
                 from /home/jordan/thrift/src/c/zephyr/mbedtlstest/../../../../include/thrift/types.h:4,
                 from /home/jordan/thrift/src/c/zephyr/mbedtlstest/../../../../include/thrift/ssl/../transport.h:4,
                 from /home/jordan/thrift/src/c/zephyr/mbedtlstest/../../../../include/thrift/ssl/transport.h:4,
                 from /home/jordan/thrift/src/c/ssl/transport.c:1:
/home/jordan/zephyr/zephyr/include/posix/unistd.h:21:12: note: previous declaration of ‘close’ was here

1 Ответ

2 голосов
/ 20 марта 2019

Как указано пользователем3386109, close - это функция библиотеки C POSIX, которая используется для закрытия файловых дескрипторов. Вы можете найти больше информации об этом здесь: -

https://linux.die.net/man/2/close

Правильный способ исправить это - переименовать вашу функцию в нечто уникальное, что раньше не использовалось.

...