- 1
- 2
(cell)data += sizeof(cell) - 1;
(cell)data &= ~(sizeof(cell) - 1);
Нашли или выдавили из себя код, который нельзя назвать нормальным, на который без улыбки не взглянешь? Не торопитесь его удалять или рефакторить, — запостите его на говнокод.ру, посмеёмся вместе!
0
(cell)data += sizeof(cell) - 1;
(cell)data &= ~(sizeof(cell) - 1);
Блядь, ёбаный tcc! Другие конпилеры отказываются такое конпилить. Теперь дохуя переписывать.
Не ходите далеко!
Лапками гребите,
Зёрнышки ищите!
Я, кстати, попробовал дать рекламу на govnokod.ru через "Яндекс.Директ" - мне отказали без объяснения причин. Видимо, не понравилось слово "говно". Какой багор )))
Почему только tcc умеет lvalue какастить?
reinterpret_cast –— примитивщина, оно просто игнорирует тип. А вот static_cast –— самая сложная фигня. В случае чисел оно даже производит вычисления (когда нужно целого питуха приводить к плавающему или наоборот).
Когда у тебя «много некрасивой писанины», ты фактически выполняешь за компилятор сложную работу. Они решили упростить компилятор.
Если бы такое было позволено, Кармаку не пришлось бы городить каламбуры из указателей для вычисления быстрого отвратного порня.
> Они решили упростить компилятор.
Ну блядь, конпиляторы ссей и крестов давно уже не простые, сколько в гцц всякого говна понапихали: expression statement, вложенные дисфункции, трамплины, typeof, автовывод типов, генерики из c11, куча атрибутов для функций и переменных, проверка всяких возможных ошипок и очепяток, допустимых в языке, но с выдачей ворнингов, ебанические оптимизации. А про кресты я вообще молчу. Не говори мне, что люди сделавшие всё это, хотят упростить компилятор.
f = (float)i; // rvalue кастует как число
(float)i = f; // а lvalue - как биты
Хуйня какая-то неконсистентная получается. Поэтому нинужно.
(int*)hui
Это какой качт?
в няшной лвалуе это то что слева от выражения
то у чево есть имя
рвалуе -- то что справа и имя иметь не обязано
1 это рвалуе
i + 32 эт рвалуе
i это лвалуе
вот в крестах та все сложнее
Подтверждаю.
>> вот в крестах та все сложнее
Ага:
https://en.cppreference.com/w/cpp/language/value%20category
Напридумывали glvalue, prvalue, xvalue. Как теперь во всём этом разобраться?
вот в пхп ничего не надо изучать и именно потому
http://phpsadness.com/
то у чево есть имя
Не обязательно. lvalue —– это аргумент операторов инкремента или левый агрумент операторов присваивания, это то, чему можно присвоить значение. Например ((char*)0x265)[i] может быть lvalue, но при этом не имеет имени.
> вот в крестах та все сложнее
Вот на кресты та мне похуй.
твой пример модно упростить до
i[N], так?
в таком случае имя тут i, просто к нему добав ли еще и смещение
давай перефразируем так
лвалуе всегда вычисляется в некий адрес памяти или регистра или там еще чего
и в этот адрес можно что-то записать
Можно и без имени:
> лвалуе всегда вычисляется в некий адрес памяти или регистра
Да, именно тка.
rvalue –— откуда, lvalue –— куда.
rvalue может быть частью длинной формулы. Где оно хранится, нас не интересует.
А вот lvalue –— кокококонечное место назначения.
Я ничего не напутал?
так вот в си выражение "abcdef" тоже lvalue
потому что не всё lvalue, что модифицируемое, но всё модифицируемое - lvalue
void *hui;
int *real_hui = (int*)hui;
Какой здесь каст?
ему разница между реинтерпретете и статик фиолетовая
Ну, блядь, а я именно о кастах lvalue тут пижжу, тогда твоя хуйня вообще тут не к месту, в касте lvalue static_cast не имеет смысла.
В сях все касты reinterpret, за исключением кастов между плавучими и фиксированными петухами.
Расширение и сужение как раз только у плавучих и фиксированных петухов.
long int hui = 234234234;
unsigned char zopha = (unsigned char) hui;
тут кококококококой ксат?
што ты называеш фиксиированным? без иёё 754?
я солгасен что это статик, потому что копулячтор не просто реинтерпиртитириует битики а совершует даже какунито умственную работу
И его уже 4 месяца не видно :'(. И судя по тому, что он пропал одновременно с KitKat'ом я догадываюсь кто это был.
я помню аслу во времена веб10 когда отовсюду звучала гоинг соло и аслу называли коровелой безнокалонки потому что ейный ппа был бензинолигархом
с тех пор прошло 19 лет
зубы выпали
муди поседели
весь мир засрал сраный жобаскрипт
и вот снова все пиздят про алсу
верните уже тогда и мой 99й чтоли
шестую студию там
или дельфи
Ко-кок
он у меня на загрузочной дискете помещается
топаз, дай команду
Как заберу так скачаю с их ббски обновление
и по номеру (095) 948-3601 никто не отвечает
Надо конпелятор переконпелять да выкроссконпелять.
Где-то читал, что старые переводчики юзали логлан или что-то типа того.
Гуглтранслейт переводит «Rote Platz» с немецкого на русский как «красный квадрат», потому что переводит через английский (в английском «square» означает и площадь, и квадрат).
А потом на Гитхабе встречаешь проекты, которые без Буста в директории «C:\Program Files\boost\boost_1_55_0» не собираются.
Я видала проекты которые без буста в
c:\мои документы\Новая папка 1\
не собираютися
Кроме русского
Тулза не без косяков, да и библиотек не очень много поддерживает, зато очень просто и не надо прописывать в настройках проекта все эти ебанутые директории с хедерами, директории с либами, сами либы… И упаси Гейтс при прописывании перепутать «pituh_lib-vc140-mtd.lib» с «pituh_lib-vc140-mdd.lib»!
Это прыщеговно?
Сначала надо установить мерзавца (а может быть мерзавец входит в могучую ракушку, я не знаю)
Затем клонировать это с помощью мерзавца, сменить руководство с помощью встроенной команды могучей ракушки и запустить ряд
c:\prschg
чтобы букв было менше
Меньше 8. Хотя тут даже в древний 6-символьный конвеншн уложились...
В 'J', кстати, некоторые билиботечные фнукции названы нормально, а некоторые похожи на Имена хтонических чудовисчь: cderx, dbctx, fssrplc, rplc. Хт грнчн н длн мн 255.
Мнн птм з 'Джй'.
Copy-Item и Remote-Item, да?
Кстати, какие-то оси на роутерах понимали команды по перв букв есл не был совп.
так дел циск ios:
# ena Eth0.0
вместо
# enable Ethernet0.0
и еще в винд ест ком netsh которая тоже так делает потому что слямзина с ios
и кажется также работают эти сраные ip, iw и прочие iproute2 тулы на прыщах
А ещё в винде комментарии в «bat-файлах» отделяются словом «rem», какой багор )))
Зато парсер простой, не надо специальный кейс под комменты городить.
В "Tcl" тоже не надо, но его, тем не менее сделали, а можно было просто:И # можно было сделать командой, всё равно она должна быть в начале строки.
Кстати, можно объявить команду и переменную с именем "#", но команду напрямую использовать не получится :(, только так:
именно потому я за m4
https://ideone.com/HTw1Wx
Но можно всё обернуть в фигурные скобки и будет норм, можно даже многострочный коментарий сделать:
Англ. вореант: Conpile conpiler with conpiler.
А уж ядро перебрать так сам босх велел
Кстати, о ядрах. Слыхали про WSL-2?
Раньше ведь как было: MS через свои пикококококоокнтейнеры эмулировало сись колы прыщей и так работает WSL
А теперь в MS завезли легкую (леееегенькую такую) вротиализацию, и поверх нее запустили настояшщее ядро
Всамделешные прыщи в винде
Точно вам говорю: последние времена грядут, ой последние
Можно haskell скомпилировать в язык бат файлов
но зачем?
строго говоря нет: можно линкеру скормить всякого говна, скрипты там