The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  ВХОД  слежка  RSS
"if (NULL)"
Вариант для распечатки  
Пред. тема | След. тема 
Форумы Программирование под UNIX (Public)
Изначальное сообщение [Проследить за развитием треда]

"if (NULL)"  
Сообщение от AngelSky email(ok) on 17-Янв-07, 10:20 
здравствуйте!

как компилятор отреагирует на выражение

if (NULL)

?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

 Оглавление

  • if (NULL), Forth, 10:29 , 17-Янв-07, (1)  
    • if (NULL), AngelSky, 10:49 , 17-Янв-07, (2)  
      • if (NULL), Forth, 11:10 , 17-Янв-07, (3)  
        • if (NULL), AngelSky, 11:22 , 17-Янв-07, (4)  
          • if (NULL), Forth, 11:29 , 17-Янв-07, (5)  
            • if (NULL), AngelSky, 12:15 , 17-Янв-07, (6)  

Сообщения по теме [Сортировка по времени, UBB]


1. "if (NULL)"  
Сообщение от Forth (??) on 17-Янв-07, 10:29 
>здравствуйте!
>
>как компилятор отреагирует на выражение
>
>if (NULL)
Скомпилирует нечто вроде(на x86):
cmp eax, 0
jnz __L54738
А если gcc с опцией -O2 то может вообще ничего не скомпилирует.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

2. "if (NULL)"  
Сообщение от AngelSky email(ok) on 17-Янв-07, 10:49 
>>здравствуйте!
>>
>>как компилятор отреагирует на выражение
>>
>>if (NULL)
>Скомпилирует нечто вроде(на x86):
>cmp eax, 0
>jnz __L54738
>А если gcc с опцией -O2 то может вообще ничего не скомпилирует.
>


У меня компилятор ругается:
warning: converting to non-pointer type 'bool' from NULL

может это от системы зависит? или пакетов каких не хватает?

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

3. "if (NULL)"  
Сообщение от Forth (??) on 17-Янв-07, 11:10 
>У меня компилятор ругается:
>warning: converting to non-pointer type 'bool' from NULL
>
>может это от системы зависит? или пакетов каких не хватает?
Ага, от системы по-любому, нужен линукс 2.6.7, и не хватает libsmclient-3.
Нет конечно, NULL это тип указатель, да он на многих системах 0, а где-то может кстати и не 0 вовсе. Предупреждение компилятора, что не тот тип.
И вообще это шутка такая про if(NULL)? Смысл такого условия? Вроде не первое апреля.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

4. "if (NULL)"  
Сообщение от AngelSky email(ok) on 17-Янв-07, 11:22 
>>У меня компилятор ругается:
>>warning: converting to non-pointer type 'bool' from NULL
>>
>>может это от системы зависит? или пакетов каких не хватает?
>Ага, от системы по-любому, нужен линукс 2.6.7, и не хватает libsmclient-3.
>Нет конечно, NULL это тип указатель, да он на многих системах 0,
>а где-то может кстати и не 0 вовсе. Предупреждение компилятора, что
>не тот тип.
>И вообще это шутка такая про if(NULL)? Смысл такого условия? Вроде не
>первое апреля.

У меня FC5 , хочу поставить себе netams для замера траффика, и нифига он у меня не компилится!

define SHOW_OIDS(file, flag, name, id) { \
        if(flag&CFG_SHOW_OIDS) fprintf(file, "%06X ", id); \
        else SHOW_STR(file, NULL, name); \
}

#define SHOW_STR(file, prefix, str) { \
        if (prefix) fprintf(file, "%s ", prefix); \
        if (str && strchr(str, ' ')) \
                fprintf(file, "\"%s\" ", str?str:""); \
        else fprintf(file, "%s ", str?str:""); \
}

а в данном случае по сути так и получается if (NULL),
if (prifix) а prifix передан как NULL

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

5. "if (NULL)"  
Сообщение от Forth (??) on 17-Янв-07, 11:29 
>>>У меня компилятор ругается:
>>>warning: converting to non-pointer type 'bool' from NULL
>а в данном случае по сути так и получается if (NULL),
>if (prifix) а prifix передан как NULL
warning, а не error. Сомневаюсь, что не собирается из-за этого.

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

6. "if (NULL)"  
Сообщение от AngelSky email(ok) on 17-Янв-07, 12:15 
>>>>У меня компилятор ругается:
>>>>warning: converting to non-pointer type 'bool' from NULL
>>а в данном случае по сути так и получается if (NULL),
>>if (prifix) а prifix передан как NULL
>warning, а не error. Сомневаюсь, что не собирается из-за этого.


аа! ясно, значит собирается! это хорошо:))
спасибо!

Высказать мнение | Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Индекс форумов | Темы | Пред. тема | След. тема
Оцените тред (1=ужас, 5=супер)? [ 1 | 2 | 3 | 4 | 5 ] [Рекомендовать для помещения в FAQ]




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру