История изменений
Исправление wandrien, (текущая версия) :
То есть ни ты, ни тот дрочащий на мамонтовые фекалии обезьян
Приятно смотреть, как у классических «матёрых сишников» горит жопа не переставая.
Для сведения: чувак, на статью которого была ссылка — это разраб musl. Но вы-то в сишечке разбираетесь лучше тут.
Чо характерно, ни один матёрый сишнег не способен прочитать и осознать даже официальный стандарт для своего любимого фетиша.
Для gcc’ишного cpp это совершенно валидное выражение.
Да-да, (uint8_t)0
для препроцессора это совершенно валидное целое выражение.
Щя проверим.
vadim@aquila:~$ cat 1.c
#include <stdio.h>
#define X ((int)10)
int main(void)
{
#if X < 10
printf("X < 10\n");
#endif
#if X == 10
printf("X == 10\n");
#endif
#if X > 10
printf("X > 10\n");
#endif
return 0;
}
vadim@aquila:~$ gcc 1.c
1.c: В функции «main»:
1.c:3:17: ошибка: missing binary operator before token «10»
3 | #define X ((int)10)
| ^~
1.c:7:5: замечание: в расширении макроса «X»
7 | #if X < 10
| ^
1.c:3:17: ошибка: missing binary operator before token «10»
3 | #define X ((int)10)
| ^~
1.c:10:5: замечание: в расширении макроса «X»
10 | #if X == 10
| ^
1.c:3:17: ошибка: missing binary operator before token «10»
3 | #define X ((int)10)
| ^~
1.c:13:5: замечание: в расширении макроса «X»
13 | #if X > 10
| ^
Status: 1
vadim@aquila:~$
Исправление wandrien, :
То есть ни ты, ни тот дрочащий на мамонтовые фекалии обезьян
Приятно смотреть, как у классических «матёрых сишников» горит жопа не переставая.
Для сведения: чувак, на статью которого была ссылка — это разраб musl. Но вы-то в сишечке разбираетесь лучше тут.
Чо характерно, ни один матёрый сишнег не способен прочитать и осознать даже официальный стандарт для своего любимого фетиша.
Для gcc’ишного cpp это совершенно валидное выражение.
Да-да, (uint8_t)0
для препроцессора это совершенно валидное целое выражение.
Щя проверим.
vadim@aquila:~$ cat 1.c
#include <stdio.h>
#define X ((int)10)
int main(void)
{
#if X < 10
printf("X < 10\n");
#endif
#if X == 10
printf("X == 10\n");
#endif
#if X > 10
printf("X > 10\n");
#endif
return 0;
}
vadim@aquila:~$ gcc 1.c
1.c: В функции «main»:
1.c:3:17: ошибка: missing binary operator before token «10»
3 | #define X ((int)10)
| ^~
1.c:7:5: замечание: в расширении макроса «X»
7 | #if X < 10
| ^
1.c:3:17: ошибка: missing binary operator before token «10»
3 | #define X ((int)10)
| ^~
1.c:10:5: замечание: в расширении макроса «X»
10 | #if X == 10
| ^
1.c:3:17: ошибка: missing binary operator before token «10»
3 | #define X ((int)10)
| ^~
1.c:13:5: замечание: в расширении макроса «X»
13 | #if X > 10
| ^
Status: 1
vadim@aquila:~$
Какие же всё-таки весёлые клоуны.
Исходная версия wandrien, :
То есть ни ты, ни тот дрочащий на мамонтовые фекалии обезьян
Приятно смотреть, как у классических «матёрых сишников» горит жопа не переставая.
Для сведения: чувак, на статью которого была ссылка — это разраб musl. Но вы-то в сишечке разбираетесь лучше тут.
Чо характерно, ни один матёрый сишнег не способен прочитать и осознать даже официальный стандарт для своего любимого фетиша.
Для gcc’ишного cpp это совершенно валидное выражение.
Да-да, (uint8_t)0
для препроцессора это совершенно валидное целое выражение.
Щя проверим.
vadim@aquila:~$ cat 1.c
#include <stdio.h>
#define X ((int)10)
int main(void)
{
#if X < 10
printf("X < 10\n");
#endif
#if X == 10
printf("X == 10\n");
#endif
#if X > 10
printf("X < 10\n");
#endif
return 0;
}
vadim@aquila:~$ gcc 1.c
1.c: В функции «main»:
1.c:3:17: ошибка: missing binary operator before token «10»
3 | #define X ((int)10)
| ^~
1.c:7:5: замечание: в расширении макроса «X»
7 | #if X < 10
| ^
1.c:3:17: ошибка: missing binary operator before token «10»
3 | #define X ((int)10)
| ^~
1.c:10:5: замечание: в расширении макроса «X»
10 | #if X == 10
| ^
1.c:3:17: ошибка: missing binary operator before token «10»
3 | #define X ((int)10)
| ^~
1.c:13:5: замечание: в расширении макроса «X»
13 | #if X > 10
| ^
Status: 1
vadim@aquila:~$
Какие же всё-таки весёлые клоуны.