Size: a a a

2020 July 15

t

ttldtor in codingteam
вижу что Минорыч круче меня, знает как их писать, эти дрова
источник

c

codingteam@cjr in codingteam
Minoru
в ядре до сих пор почему-то объявляют в начале, хоть и компилят с gnu99, где действительно можно объявлять в произвольном месте. Я тоже на это правило забивал, но у меня проприетарный код был
источник

c

codingteam@cjr in codingteam
Minoru
> <@ttldtor> вижу что Минорыч круче меня, знает как их писать, эти дрова
так, осталось обогнать тебя ещё по миллиону тем, и тогда будет совсем шик :)
источник

t

ttldtor in codingteam
codingteam@cjr
Minoru
> <@ttldtor> вижу что Минорыч круче меня, знает как их писать, эти дрова
так, осталось обогнать тебя ещё по миллиону тем, и тогда будет совсем шик :)
да небось и во многопоточку ты уже без стулки можешь
источник

c

codingteam@cjr in codingteam
Minoru
конечно-конечно! Книжку Марлоу до сих пор не прочитал :(
источник

c

codingteam@cjr in codingteam
Minoru
даже rayon не попробовал, а там всего-то iter() на par_iter() заменить надо!
источник

FM

Foxy McFoxtail in codingteam
ttldtor
могу докопаться только к стилю кода. Уже вроде бы не обязательно объявлять переменные в начале. А ещё у меня ... травма, терпеть не могу неинициализированное, Минорыч поймёт
В коде ядра обязательно, там C89 используется. И да, неинициализировать при объявлении в начале тоже нормально.
источник

FM

Foxy McFoxtail in codingteam
Хотя нет, вон говорят, что таки gnu99 используют.
источник

FM

Foxy McFoxtail in codingteam
Но пишут как будто для C89.
источник

t

ttldtor in codingteam
ну про гнутые расширения я знал
источник

c

codingteam@cjr in codingteam
Minoru
я вас обманул!
> More precisely, the kernel is typically compiled with gcc [gcc] under -std=gnu89 [gcc-c-dialect-options]: the GNU dialect of ISO C90 (including some C99 features).
https://www.kernel.org/doc/html/latest/process/programming-language.html
источник

t

ttldtor in codingteam
убиццо
источник

FM

Foxy McFoxtail in codingteam
Ну, у gnu89 есть какие-то различия от c89 всё же.
источник

FM

Foxy McFoxtail in codingteam
Не скажу только какие.
источник

c

codingteam@cjr in codingteam
источник

c

codingteam@cjr in codingteam
Minoru
#include <stdio.h>

int main() {
   int x = 42;
   x += 1;
   printf("x=%i\n", x);
   int y = x*x;
   printf("y=%i\n", y);
   return y;
}

собирается даже с gcc -std=c89. Чото я не понял…
источник

c

codingteam@cjr in codingteam
Minoru
хм, с -pedantic ругается, даже с -std=gnu89 -pedantic ругается. Как по мне, это странно
источник

c

codingteam@cjr in codingteam
Minoru
но в Makefile -pedantic не упоминается, так что норм: https://github.com/torvalds/linux/blob/11ba468877bb23f28956a35e896356252d63c983/Makefile
источник

Dv

Dr. Friedrich von Ne... in codingteam
ttldtor
вообще, забавно. Можно через ансейф было и через инструментейшн. И это просто для того, чтобы получить размер
В дотнете у нас есть специальная либа, которая это считает, и ещё лейаут объектов показывает
источник

Dv

Dr. Friedrich von Ne... in codingteam
Но я точно не помню, сколько там байт на объект. Около 24, вроде?
источник