Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

Пара вопросов

1.8K
07 сентября 2009 года
igor_nf
256 / / 13.12.2006
Вопрос №1
Имеем:

main.c
 
Код:
#include <string.h>
...
extern char *optarg;
...
char *dev = NULL
...
Строка 42
dev = strdup((const char *)optarg);

Ключи gcc:
OPTS = -std=c99 -O0 -c -g -pg

gcc говорит:

main.c: В функции ‘main’
main.c:42: предупреждение: implicit declaration of function ‘strdup’
main.c:42: предупреждение: assignment makes pointer from integer without a cast

хотя strdup вроде бы декларирована в string.h и все типы соответствуют ожидаемым. Если убрать ключ std=c99 - ворнинги не наблюдаются. Что ему не нравится ?

Вопрос №2
types.h
 
Код:
typedef unsigned long u32
и т п

info.c
 
Код:
Строка 121
fprintf(stdout, "...: %u\n", p->BPB_HiddSec);

где BPB_HiddSec типа u32
Добавляем ключ -Wall (выдать всевозможные ворнинги)
gcc говорит
 
Код:
info.c:121: предупреждение: format ‘%u’ expects type ‘unsigned int’, but argument 3 has type ‘u32’

Я так понимаю - этот ворнинг нужно просто игнорировать, т.к. с точки зрения правильности кода всё верно ?
А есть ли в gcc прагмы типа disable warning xxx для таких случаев? Или что-то ещё ?

Спасибо за внимание.
1.8K
07 сентября 2009 года
igor_nf
256 / / 13.12.2006
Второй вопрос снят. Я затупил. Но остался первый.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог