
Stanislav
02.03.2017
20:09:56

Surreal
02.03.2017
20:11:58
Еще есть санитайзер UB.

Alex Фэils?︙
02.03.2017
20:12:55

Google

Sergey
02.03.2017
20:23:31
как гуглить хотя бы

Surreal
02.03.2017
20:24:08

Sergey
02.03.2017
20:24:34
а, gcc
в visual studio нет аналога?

Alex Фэils?︙
02.03.2017
20:24:59

Surreal
02.03.2017
20:25:08
clang есть для студии.
В нем это есть.
Из него и пошло, вроде.

Stanislav
02.03.2017
20:26:41
https://visualgdb.com/

Surreal
02.03.2017
20:26:42

Andrei
02.03.2017
20:41:02

Matway
02.03.2017
20:41:12

Google

/dev
02.03.2017
20:42:43

Alex Фэils?︙
02.03.2017
20:45:47
Хочу бота плвншетного дебажить в студии

Stanislav
02.03.2017
20:46:54

Andrei
02.03.2017
20:47:03

Stanislav
02.03.2017
20:47:51

Alex Фэils?︙
02.03.2017
20:47:52

Surreal
02.03.2017
20:48:01

Alex Фэils?︙
02.03.2017
20:48:13

Surreal
02.03.2017
20:48:52

Andrei
02.03.2017
20:48:57
Да и как мне он бы помог? У меня один фиг отлаживаемое приложение на плате. у которой из выводов только ethernet и питание :)

Alex Фэils?︙
02.03.2017
20:49:40
А гдб такой же, консольный?
Такой же, но студия его прозрачно юзает, поэтомк для юзера все выглядит как обычно - брякпойнты, step, stepi, и др

Pavel
02.03.2017
20:51:16
чат набирает обороты =). Матвей, привет =).

Kirill
02.03.2017
22:47:56
Я вот думаю, если сделать свой пул памяти для блоков любых размеров (как в книжках описывают), будет ли скорость выделения/освобождения памяти существенно больше? Ведь диспетчер памяти ОС делает примерно ту же работу, только блоков у него больше на порядок.

Будда
02.03.2017
22:50:43
Мне кажется здесь дело не в скорости, а в стабильности. Сделав так, вы просто будете уверенны, что другие процесы каким-то чудом будет мешать вашей программе. Ну, или наоборот, что ваша программа не наделает сбоев.

Kirill
02.03.2017
22:51:52
Разве ОС позволяет процессу влезать в чужое адресное пространство?

Surreal
02.03.2017
22:51:53

Vladislav
02.03.2017
22:54:11

Kirill
02.03.2017
22:54:12
Он fixed-size

Google

Kirill
02.03.2017
22:54:52
Про fixed-size понятно: там логика выделения/освобождения совсем другая, потому быстрее на порядки.

Будда
02.03.2017
22:54:53

Surreal
02.03.2017
22:56:02

Kirill
02.03.2017
22:56:19
Но я имею в виду универсальный пул, который хранит линейные списки указателей на занятые свободные блоки и их размеры.

Будда
02.03.2017
22:57:04

Kirill
02.03.2017
22:57:30

Surreal
02.03.2017
22:58:35

ovf
02.03.2017
22:59:15
на тему взаимодействия процессов в памяти рекомендую ознакомиться с развлекательными материалами типа https://arstechnica.com/security/2017/02/new-aslr-busting-javascript-is-about-to-make-drive-by-exploits-much-nastier/
но это просто последнее, а так -- см. "cache side channel attacks", "timing attacks" и т.д.

Kirill
02.03.2017
23:01:53
Даже, если можно залезть подобными способами в чужое адресное пространство, свой пул от этого никак не защитит.

Будда
02.03.2017
23:02:14
Спасибо за информацию)

ovf
02.03.2017
23:07:29
нет, не защитит. :-)

Surreal
02.03.2017
23:11:16
Раз уж такая тема пошла. Где-то читал, что в clang есть механизм "сокрытия" указателя на таблицу вирт. функций (могу ошибаться, но что-то подобное). Может кто-нибудь знаком и может в 2-3х предложениях описать принцип.

Kirill
02.03.2017
23:12:31
Сокрытие? Ну, он и так недоступен, если только не ориентироваться на конкретный компилятор и арифметику указателей.

Surreal
02.03.2017
23:13:32

Kirill
02.03.2017
23:13:37
Вроде как стандарт не определяет, где он будет храниться, (наиболее логично в начале или конце базового класса).

Surreal
02.03.2017
23:17:25
В фб в hhvm, кстати, делали свою "вирт. таблицу" для горячих классов. Там, правда, это двумерный массив указателей на функции.
Кому интересно, вот: https://clang.llvm.org/docs/ControlFlowIntegrity.html
И гуглить: vtable protection

Kirill
02.03.2017
23:34:36
Нашел интересную библиотеку: http://www.pjsip.org/pjlib/docs/html/group__PJ__POOL__GROUP.htm

Vladislav
02.03.2017
23:36:33
стандартный malloc обычно не используют в high load, есть же jemalloc и tcmalloc

Google

Vladislav
02.03.2017
23:38:02
довольно мощная штука, если правильно ей пользоваться

Anton
03.03.2017
04:53:57

Pepe
03.03.2017
04:54:53
Если я правильно понял

Anton
03.03.2017
04:56:05

Pepe
03.03.2017
04:56:14
Ну и когда ты аллоцируешь память для массива тоже надо несколько раз делать как это в STL реализовано я не знаю правда

Bormaley
03.03.2017
05:15:16
Обычно когда пишут свой аллокатор памяти исходят из того насколько часто выделяются те или иные блоки памяти. Как правило объекты небольших размеров размещаются в памяти чаще более крупных. Отсюда разный подход и алгоритмы. Блоки очень больших размеров думаю можно вообще организовать в виде линейного списка и не париться.

Admin
ERROR: S client not available

Vladislav
03.03.2017
05:17:28

EvilSquirrel
03.03.2017
05:28:49
/vzhuh@FailsBot

Evgeniy
03.03.2017
06:13:44
/vzhuh@FailsBot

Denis
03.03.2017
07:30:37
Ну вот в книге Александреуского была глава, где он имплементил что-то похожее

Tema
03.03.2017
07:32:13

Alex Фэils?︙
03.03.2017
08:03:10

Grigor
03.03.2017
08:05:15
в stingraykit есть такая штука
на гитхабе должно быть
https://github.com/GSGroup/stingraykit/blob/master/stingraykit/toolkit.h#L97
во
и вуаля, все enum имеют строковое представление)

Google

Vladislav
03.03.2017
08:07:57

Grigor
03.03.2017
08:08:36
а кто-то без макросов хотел?)
я просто не читал, так подхватил тему
struct SocketOptionLevel
{
STINGRAYKIT_ENUM_VALUES(Socket, InternetProtocolV4, InternetProtocolV6);
STINGRAYKIT_DECLARE_ENUM_CLASS(SocketOptionLevel);
};
Вот так это работает

Alex Фэils?︙
03.03.2017
08:16:30

Grigor
03.03.2017
08:16:49
ну иногда макросы это же удобно и хорошо

Vladislav
03.03.2017
08:20:29
https://github.com/rollbear/basicpp

Alex Фэils?︙
03.03.2017
08:21:30

Grigor
03.03.2017
08:22:03
лооооол

Дед Пегас
03.03.2017
08:22:24

Igor
03.03.2017
08:22:44

Orphey
03.03.2017
08:22:58
xD Qbasic

Tema
03.03.2017
08:41:17

Alex Фэils?︙
03.03.2017
08:54:43

Tema
03.03.2017
08:55:37
Спасибо
я бы кста хотел какой нить кодревю по этому говнокоду, потому что посути оно мапит объекты на объекты, и енум в названии это косяк, и мапы там надо делать унордеред и мног оещё всего

Alex Фэils?︙
03.03.2017
08:57:59
Чуть позже гляну

Tema
03.03.2017
08:59:00

Alex Фэils?︙
03.03.2017
09:41:08
Схоронил в гист. Придраться трудно. Могу только если по дизайну класса - кмк, енамы должны быть иммутабельными, и методы для изменения внутренней мапы не нужны. И я б добавил перегрузки оператора скобки для типа T и строкового типа.