EDIT: предупреждение в первом абзаце было связано с тем, что я читал старый журнал из компилятора (до включения unistd.h, извините за пропущенную консоль, вторая проблема все еще сохраняется) У меня есть код который использует функцию un unlink (объявляется в unistd.h). После компиляции с gcc -Wall я получаю предупреждение: implicit declaration of function ‘unlink’
Теперь я теперь, что это всего лишь предупреждение, но это меня раздражает, и я хотел бы, как бы это было правильно. Мое настоящее решение состоит в том, чтобы просто добавить строку extern int unlink(const char *path);
к коду, но это кажется немного глупым, так как я также вклюаю unistd.hнеявное объявление функции swab
Раньше я получал предупреждение об использовании функции swab (также объявленной в unistd. ч), но удалось, после осмотра unistd.h, чтобы решить эту проблему путем добавления строки
#ifndef __USE_XOPEN
#define __USE_XOPEN
#endif
Не уверен, что это правильная вещь, чтобы сделать какие-либо идеи к этому также будут оценены.
Что-то очень сильно нарушает вашу систему, если вам нужно создать ifdef для использования unlink. –
Возможно, вы правы, сообщение обновлено – cpaitor