УМННБJ, ЯХВ. Войти !bnw Сегодня Клубы
УНЯНЯ. У нас есть немножечко инфы об этом пользователе. Мы знаем, что он понаписал, порекомендовал и даже и то и другое сразу. А ещё у нас есть RSS.
Теги: Клубы:

https://github.com/xoreaxeaxeax/movfuscator
ура, наконец-то сделали компилятор сишки в mov'ы.

#FODEWJ (2+3) / @lexszero / 2796 дней назад

А есть какая-нибудь тулза, которая будет селективно вычищать неюзаемые #ifdef-ветки, и при этом уметь экспандить function-like macro? Все три что я смог нагуглить (unifdef, sunifdef, coan, собственно это одна и та же тулза, слегка допиленная и заброшенная очередным байтоебом) - нихуя не умеют, поэтому бесполезны на быдлокоде состоящем из #if ENABLED(FOO) || HAS(BAR), не говоря уже о более сложных штуках.

#LY78BL (2+1) / @lexszero / 2937 дней назад

https://github.com/eudoxia0/magma
Осторожно, наркомания. Костыльсет для сишки с модными фичами типа лямбд, лени, ADT, какого-то вывода типов и всего что можно написать на лисповой макре.

#ULSHA2 (6+2) / @lexszero / 3042 дня назад

define __same_type(a, b) __builtin_types_compatible_p(typeof(a), typeof(b))

define BUILD_BUG_ON_ZERO(e) (sizeof(struct { int:-!!(e); }))

define must_be_array(a) BUILD_BUG_ON_ZERO(same_type((a), &(a)[0]))

define ARRAY_SIZE(arr) (sizeof(arr) / sizeof((arr)[0]) + __must_be_array(arr))

TFW compile-time type checking.
Найдено в сорцах прыщеядра.

#66N96E (4+3) / @lexszero / 3122 дня назад
https://github.com/taviso/ctypes.sh - a foreign function interface for bash.
#T775LM (2+3) / @lexszero / 3194 дня назад
*дерьмо *байтоебля Отловил баг с переполнением буфера на один байт, когда программа собранная gcc нормально работала, а собранная шлангом в зависимости от оптимизации нормально работала, криво работала или сегфолтилась.
#CYOLUR (3+1) / @lexszero / 3260 дней назад
> cat /tmp/1.c #include <stdbool.h> void foo() { bool y = true; void (*x)() = y; } > gcc -c -Wall -Wextra /tmp/1.c /tmp/1.c: In function ‘foo’: /tmp/1.c:4:16: error: incompatible types when initializing type ‘void (*)()’ using type ‘_Bool’ void (*x)() = y; ^ ... > clang -c -Wall -Wextra /tmp/1.c /tmp/1.c:4:9: warning: incompatible integer to pointer conversion initializing 'void (*)()' with an expression of type 'bool' [-Wint-conversion] void (*x)() = y; ^ ~
#USXACV (15+1) / @lexszero / 3301 день назад
Это ок ставить __attribute__ ((weak)) на заглушки, которые будут оверлоаднуты не-заглушками?
#X9FZVU (1) / @lexszero / 4414 дней назад
c
Чят, смотри. В прыщеведре есть волшебная макра, по адресу члена структуры, ее типу и названию мембера возвращающая адрес самой структуры: / * container_of - cast a member of a structure out to the containing structure * @ptr: the pointer to the member. * @type: the type of the container struct this is embedded in. * @member: the name of the member within the struct. * */ #define container_of(ptr, type, member) ({ \ const typeof( ((type *)0)->member ) *__mptr = (ptr); \ (type *)( (char *)__mptr - offsetof(type,member) );}) Я написал то же самое так: #define container_of(ptr, type, member) \ (type *)((char *)ptr - (char *)&(((type *)0)->member)) И вроде бы УМВР. Вопрос: зачем в прыщеведре лишние костыли?
#E893WL (11+1) / @lexszero / 4440 дней назад
ipv6 ready BnW для ведрофона BnW на Реформале Викивач Котятки

Цоперайт © 2010-2016 @stiletto.