Size: a a a

Emacs — русскоговорящее сообщество

2021 January 20

¥

¥αros!αν in Emacs — русскоговорящее сообщество
C-u ret
источник

A

Aragaer in Emacs — русскоговорящее сообщество
ну да
источник

A

Aragaer in Emacs — русскоговорящее сообщество
и когда я это делал, то получал ошибку
источник

A

Aragaer in Emacs — русскоговорящее сообщество
user-error: telega error=400: Can't parse entities: Can't find end of the entity starting at byte offset 253
источник

¥

¥αros!αν in Emacs — русскоговорящее сообщество
#define GET_NEXT(item) ({list_head *_p = (item); \
     (list_head *) ((char *) _p + _p->next); })
источник

¥

¥αros!αν in Emacs — русскоговорящее сообщество
markdown1 норм отправил
источник

¥

¥αros!αν in Emacs — русскоговорящее сообщество
у тебя походу markdown2 выставлен
источник

A

Aragaer in Emacs — русскоговорящее сообщество
я не знаю, знаю что C-u RET
источник

A

Aragaer in Emacs — русскоговорящее сообщество
#define GET_NEXT(item) ({list_head *_p = (item); 
          (list_head *) ((char *) _p + _p->next); })
источник

A

Aragaer in Emacs — русскоговорящее сообщество
ага, C-u-u RET сработал
источник

¥

¥αros!αν in Emacs — русскоговорящее сообщество
источник

A

Aragaer in Emacs — русскоговорящее сообщество
test
      #define GET_NEXT(item) ({list_head *_p = (item); 
               (list_head *) ((char *) _p + _p->next); })
источник

A

Aragaer in Emacs — русскоговорящее сообщество
хммм
источник

A

Aragaer in Emacs — русскоговорящее сообщество
Переслано от Aragaer
поскольку элемент списка это структура с полями int64_t next, prev, то реальный адрес берется так:
#define GET_NEXT(item) ({list_head *_p = (item);
     (list_head *) ((char *) _p + _p->next); })
источник

A

Aragaer in Emacs — русскоговорящее сообщество
а вот это не получилось, тут уже видимо об подчеркивание ломается
источник

EZ

Evgeny Zajcev in Emacs — русскоговорящее сообщество
Aragaer
```
#define GET_NEXT(item) ({list_head *_p = (item); \
     (list_head *) ((char *) _p + _p->next); })
```
А зачем так, когда есть sys/queue.h ?
источник

A

Aragaer in Emacs — русскоговорящее сообщество
мм, тут фишка в том, что вместо указателей используются относительные смещения. Такую хрень можно записать в файл, а потом ммапом поднять и бегать
источник

EZ

Evgeny Zajcev in Emacs — русскоговорящее сообщество
Aragaer
Переслано от Aragaer
поскольку элемент списка это структура с полями int64_t next, prev, то реальный адрес берется так:
#define GET_NEXT(item) ({list_head *_p = (item);
     (list_head *) ((char *) _p + _p->next); })
Этот код вроде gcc-only, afair какое-то sequencing extension. Или в новых сях уже так можно?
источник

EZ

Evgeny Zajcev in Emacs — русскоговорящее сообщество
Aragaer
мм, тут фишка в том, что вместо указателей используются относительные смещения. Такую хрень можно записать в файл, а потом ммапом поднять и бегать
Ты можешь организовать такой contiguous лейаут и наложить его на списки из queue.h
источник

A

Aragaer in Emacs — русскоговорящее сообщество
я давно это писал
источник