- 01
- 02
- 03
- 04
- 05
- 06
- 07
- 08
- 09
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
- 21
- 22
- 23
- 24
- 25
- 26
- 27
- 28
- 29
- 30
- 31
- 32
- 33
- 34
- 35
- 36
- 37
- 38
- 39
- 40
- 41
- 42
- 43
- 44
// https://github.com/Qqwy/raii_with/blob/74e4c66a821fba6a483d62a8c583b3fab06e3443/raii/raii.h#L60
/**
* Custom Control Structure Macro to provide Resource Acquisition Is Initialization (and Resource Relinquishment is Destruction).
*
* Use this to run a block of code with `var_decl` initialized to `init`, where at the end of the block (or at an earlier `safe_return`),
* the passed `destr`-function will automatically be called with the given resource.
*
* Gotcha's:
* 1. Do not use `return` from within `raii_with`, but only `safe_return`, because otherwise the destructors will not be run.
* 2. Do not perform pointer-swaps with `var_decl`; the destructor will still be run on the original structure, because `raii` keeps its own reference to the resource.
*/
#define raii_with(var_decl, init, destr) \
while(1) /* i.c.m. break on l.4, so we can jump past the user-supplied block */ \
if(0) \
raii_glue(__raii_with_finished, __LINE__): \
break; \
else \
/* initialize _tmp lifetime list elem so replacement `raii_lifetime_list` can have previous one as tail. */ \
for(struct raii_lifetime_list_t _tmp = {.elem.resource = init, .elem.destructor = destr, .next = raii_lifetime_list};;) \
/* initialize user-supplied variable name */ \
for(var_decl = _tmp.elem.resource;;) \
if (1) { \
/* Fill `_tmp`'s tail before `raii_lifetime_list` is shadowed */ \
_tmp.next = raii_lifetime_list; \
goto raii_glue(__raii_with_setup, __LINE__); \
} else \
raii_glue(__raii_with_setup, __LINE__): \
/* Shadow `raii_lifetime_list` with inner version */ \
for(struct raii_lifetime_list_t *raii_lifetime_list = &_tmp;;) \
if(1){ \
goto raii_glue(__raii_with_body, __LINE__); \
} else \
while (1) /* so break works as expected */ \
while (1) /*so continue works as expected */ \
if (1){ \
/*after the else-block (or break or continue), destruct and finish */ \
destruct_raii_lifetime(raii_lifetime_list->elem); \
goto raii_glue(__raii_with_finished, __LINE__); \
} else \
raii_glue(__raii_with_body, __LINE__):
#endif // RAII_WITH_H
А если не видно разницы - зачем платить больше?
Кстати, хорошо, что признался, а то вистефанец считает меня тобой.
Мудак ты. Я до последнего не верил, что это ты.
А это Конардо?
А то вистефана все любят, а сёму — никто. Не дело.
P.S. Можно такой подход: пока не въебал минус или плюс, не знаешь, кто высказал мнение.
Можем и из этого такой сделать ))
А ты считаешь, что это как-то коррелирует? Лол. ))) Может страйкер — линуксоид, который удаляет все треды, в которых линукс… барабанная дробь… проиграл сёме?!!!! О ужас. Нихуя ты затролел.
> в докачку при разрыве нормально не могли
Десятый раз повторяю, в однострочнике, который я давал, докачка была, мультипоточность была, в оконном решении, на которое давали ссылку СёмаРиал и дефекейт было всё перечисленное, включая ограничение скорости. Ты набздел в лужу очередной раз и пытаешься опять кукарекать. Виндоблядь соснула ))
жизнь боль
Вроде бы твою мамку собирались обсудить, нет?
А ты как человек который бегает по форумам и орет про говно, прыщи и красные глаза, вместо того чотбы делом заниматься
Что на прыщах ты нихуя не умеешь, но, судя по тому, что тебе приходится обращаться к прыщам, на винде — тоже.
Это типа как ты со своим компом?
Это типа как ты сейчас взял VNC и с ним ебёшься на своём компе с помойки, и поэтому все неправы? Ламер.
Нет, это внутри чёрного окошечка запускается программа, которая делает вид, будто живет вне его, и рисует то, что попросит чёрное окошечко. ))) Ламер
Это у тебя нихуя не работает, домохозяйка, а у программистов однострочники на баше не вызывают проблем.
Совершенно верно. А если программисту надо использовать программу (компилятор там, или скайп), то он нанимает пользователя.
Если человек умеет скинуть файл на флешку и отправить по почте то про него говорят что он умеет пользоваться ПК, что он пользователь.
Нет, я никогда не видел программистов, которые не умеют скинуть файл на флешку.
Совершенно верно. Если тебе не нужен однострочник -- не пиши однострочник.
А если тебе нужен однострочник то пиши однострочник.
Всё просто.
Т.е. я должен вручную тыкать кнопочки в студии чтобы собрать проект под все нужные платформы? Да пошло оно нахуй, лучше запишусь в пердолики-ковырялики, запущу однострочник и уйду чай пить...
То-есть Microsoft Power Shell в винде это тоже прыщи?
Это семерка, а на десятке еще хуже.
Сам свой список листай
новый способ
Я просто люблю вербозность потому что не очень уверенно еще чувствую себя в PS. Через годик буду конечно gsv, where, select итд
а те, в свою очередь, должны помнить о маппинге английского названия службы на русский
ну или разбираться почему ты виндовый антивирус отключил неделю назад, а он продолжает жрать 100% диска, а кнопощки "Остановить это гамно" задизаблены
юзерам то зачем это всё делать?? они деньги не за это платили
На винде довольно много неочевидных для пользователя мест, куда можно насрать (загружаться в адресное пространство всех .exeшников например, или запуститься вместе с userinit).
Кроме того на винде принято сидеть под админом (хоть и с UAC), в прыщах -- нет.
MS не виноват в том, что люди сидят под админом. Виноваты тупорылые пидарасы, которые пишут программы, которые без админа не работают.
Хотя вру, вообще белое, это я к iTerm привык
> apple script
- эта шняга вроде для того, чтобы можно было скриптовать конкретные приложения, а потом юзать типа finder find files like "pitux" или то же самое, но в Automator'е. Не думаю, что тянет на замену башу или повершеллу
тоже синий по умолчанию.
ps: без ISE от PS толку меньше
ну да, на самом деле тут только один тупарь нихуя не понимает, остальные троллят
расскажи нам как сильно ты ненавидишь линукс
..у тех кто не умеет в комптютеры. Правда, им и с виндой не сладко
Вопросы?
Это как? Лично ходил по разным конторам и хуярил им софт?
Цвет букв поменять?
Фрилансер в штате не бывает, как он может быть онлайновым?
Иначе нечестно
Можно запастись баблом на текущей работе, а потом поработать там для души. Всё-таки поучаствовать в создании ракеты на порядок интересней, чем пилить очередную опердень на GWT. Если, конечно, она взлетит... Если взлетит...
>>Плохо поискал, ищи лучше.
ахахаха, Сёма еще ни одного дня не работал, то уже на всякий случай ведет себя как ментор с двадцатилетним опытом
Деваются... Для заказчика ИПшник не человек, а статья расходов. А сам ИПшник платит налогов меньше чем большая контора (или у вас в гермашке не так?)
Ну и его можно послать на все четыре стороны по завершении контракта, что актуально для гермашки, где обычного работника не уволишь?
Неплохо -- это сколько?
сёмой
И текущий рейтинг тоже не видишь
И прочитать ответ на коммент, не оценив предыдущий, — нельзя.
И всё закрипчено, при оценке комментария ты респонзом получаешь ключ для расшифровки следующего, и токены, чтобы поставить ему оценку. ))
Неправда, я всех лублу, и Вистефана и Сёму, и всех-всех-всех, а больше всех – 666_N33D135. Давайте потрахаемся
Как можно было в 2008 так сделать? Там MyISAM что-ли?
Django вот умели всегда внешние ключи (хотя 80% констреинтов postgres они не умеют до сих пор), но все таки внешние умели.
Ну если ваша суперфреймворка не умеет во внешние ключи тогда не надо в базу ручками лазить, а надо всё удалять через ORM чтобы он сам за всем следил
Не проще-ли тогда сразу взять кресты?
Стабильных и общепринятых нет, только альфы да беты
Ведь если бы вообще все функции были чистыми и никаким образом нельзя было бы получить сайд эффекты, гц был бы не нужен? (Но и написать можно было бы мало полезного)
Если вообще всё чистое, то твою программу можно заменить результатом её выполнения. Чтобы посчитать этот результат, компилятору может понадобится сборщик мусора.
Крестовый компилятор много чего считает при компиляции, но сборщика мусора у него нет.
Carp использует что-то вроде borrow-checker из Rust [1]
bone-lisp использует явные регионы [2], т.е. ты явно указываешь, когда нужно аллоцировать новый блок памяти, который уничтожится по выходу из скопа, а все возвращенные значения скопируются в родительский блок.
Удобная штука. Хочу, штоб она была в стандартной сишной либлиотеке (её ведь там нет?).
Насчет первого, это, как я понел, щуйть-щуйть похоже на то, о чём я подумал, только объекты создаются в кучке.
У ябла были когда-то zones, но вроде они уже не используются.
Круто было бы использовать сегменты для этих целей: получили бы хардварную проверку границ, но увы
Это, типа, создавать новые объекты, а потом их никак не удолять? Я тоже так умею :D
Я искал в гугле, но нашел только Сёму на дваче где он под маской анонима вещал что шиндуос лучше прыщей, а прыщи не нужны
он ведь выжимает последние наносекунды из махрового железа, где ускорение пирформанса на 0,01% добавляет +100% к марже
что бы вы, анскилябры, делали, если бы не он?
Настоящий царь оптимизирует микроархитектуру под свой код, а не наоборот.
Чтобы описать нормально работающий деструктор, мне нужно написать нуль шаблонов.
https://www.chiark.greenend.org.uk/~sgtatham/mp/
умопомрачительно. я просто фигею. на продакш код никто не пустит - но все равно фигею.
ЗЫ кто не в курсе - чудак "коллекционирует" паззлы:
https://www.chiark.greenend.org.uk/~sgtatham/puzzles/
и это его metaprogramming оч на решение паззла похоже.