Size: a a a

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

2021 October 11

A

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

A

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

VV

Vitaly Vasiliev in Emacs — русскоговорящее сообщество
кстати, насчет раскладок, regolith i3 автоматом считывает расскладку и все бинды под нее переделелывает, чтобы физически они на том же месте были, правда они все равно не удобные, но круто было бы это на имакс реальзовать, может как-нибудь  дойдут руки и мозги
источник

DL

Dmytro Lispyvnyi '(🌲... in Emacs — русскоговорящее сообщество
Ой, существует столько нестандартных компайлер-специфик фич, что уж это добавить как два пальца
источник

DL

Dmytro Lispyvnyi '(🌲... in Emacs — русскоговорящее сообщество
Надо писать куда хочешь - просто не юзай let
источник

A

Aragaer in Emacs — русскоговорящее сообщество
а, ну в терминах компайлер-специфик, в гцц такое есть
источник

DL

Dmytro Lispyvnyi '(🌲... in Emacs — русскоговорящее сообщество
Но чаще всего не надо
источник

A

Aragaer in Emacs — русскоговорящее сообщество
cleanup (cleanup_function)
The cleanup attribute runs a function when the variable goes out of scope. This attribute can only be applied to auto function scope variables; it may not be applied to parameters or variables with static storage duration. The function must take one parameter, a pointer to a type compatible with the variable. The return value of the function (if any) is ignored.
источник

A

Aragaer in Emacs — русскоговорящее сообщество
воот. То есть можно сделать чот такое:
void my_free(int **x) {
 printf("Freeing %p\n", *x);
 free(*x);
}

int main() {
 int *x __attribute__((cleanup(my_free)));
 x = malloc(1000);
 printf("Allocated 1000 bytes at %p\n", x);
}
источник

A

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

A

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

A

Aragaer in Emacs — русскоговорящее сообщество
$ ./my 
Allocated 1000 bytes at 0x563bcb9862a0
Freeing 0x563bcb9862a0
источник

A

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

ND

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

A

Aragaer in Emacs — русскоговорящее сообщество
ну соответственно можно сделать какой-нибудь typedef int *safeintptr __attribute((cleanup(my_safe_free))); и потом просто safeintptr x = malloc();
источник

A

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

A

Aragaer in Emacs — русскоговорящее сообщество
кому хочется raii, те просто берут плюсы
источник

VV

Vitaly Vasiliev in Emacs — русскоговорящее сообщество
а кто на какой ОС?
источник

А

Алексiй in Emacs — русскоговорящее сообщество
Сделай опрос
источник

VV

Vitaly Vasiliev in Emacs — русскоговорящее сообщество
как?
источник