Как разрешить предупреждение компилятора 'неявное объявление функции memset'

Мой код c использует 'memset' и 'близко'. И я добавил:

#include <stdio.h>
#include <glib.h>
#include <stdlib.h>

Но я все еще получаю эти предупреждения:

main.c:259: warning: implicit declaration of function ‘memset’
main.c:259: warning: incompatible implicit declaration of built-in function ‘memset’
main.c:268: warning: implicit declaration of function ‘close’
main.c:259: warning: incompatible implicit declaration of built-in function ‘close’

Можно ли сказать мне, как я могу разрешить эти предупреждения?

Спасибо.

32
задан James McNellis 27 January 2010 в 05:07
поделиться

2 ответа

Вам нужно:

#include <string.h> /* memset */
#include <unistd.h> /* close */

в вашем коде.

Ссылки: POSIX для close, стандарт C для memset.

72
ответ дан 27 November 2019 в 19:45
поделиться

Хороший способ найти то, что вам не хватает заголовка:

 man <section> <function call>

Чтобы узнать раздел Использование:

apropos <function call>

Пример:

 man 3 memset
 man 2 send

Править в ответ на Джеймс Моррис:

  • Раздел | Описание
  • 1 Общие команды
  • 2 Системные вызовы
  • 3 C Библиотека
  • 4 Специальные файлы (обычно устройства, Те, кто находится в / dev) и драйверам
  • 5 форматов файлов и конвенций
  • 6 игр и заставки
  • 7 Miscellanea
  • 8 Команды администрирования системы и DAEMONS

Источник: Мужская страница Википедии

29
ответ дан 27 November 2019 в 19:45
поделиться