@ProCxx

Страница 2100 из 2477
Constantine
29.05.2018
15:21:18
потому что noexcept изначально непроверяемый компилятором

к сожалению, в С++ нынче крайне не хватает многих вещей, например, если вы хотите типизировать пути в filesystem вы миллиард копипасты напишете

но абсолютные пути конкатенировать перестанете в итоге

Google
Constantine
29.05.2018
15:26:49
потому что исключение это и есть возвращаемое значение функции

Anatoly
29.05.2018
15:37:57
типы + ассерты
а как с помощью типов и ассертов можно проконтролировать правильность переданного индекса в operator[] вектора?

Alexander
29.05.2018
15:38:56
естессно, что я не про статик_ассерты

Anatoly
29.05.2018
15:39:21
ну так на вектор же известно, скольк у него элементов
то есть, ни тип, ни ассерт тебя не спасает в релизе

Alexander
29.05.2018
15:39:41
ну а кто сказал, что в моей системе я хочу видеть ассерты вырезанные в релизе? ?

если хочу проверок, то значит, что я готов платить за рантайм оверхед

Anatoly
29.05.2018
15:41:02
это о чем говорил Костя, формально у тебя нет средств выразить это. только он про исключения говорил, а здесь вообще какие-то необычайные для языка вещи как assert-ы с завершением программы.

Никита
29.05.2018
15:53:48
Ждём контракты и static исключения

Andrey
29.05.2018
16:31:16
Если есть список символов, которые должны быть в .so, как сделать, чтобы в этой .so не было данных о других символах вообще? Если делать через strip, то остаются лишние данные (правильная .so, в которую не линкуются лишние символы, по объёму в несколько раз меньше)

Andrey
29.05.2018
16:40:35
Короче есть огромный .a файл, и надо собрать сэмпл, его использующий. Но в этой либе есть статические объекты, и их конструкторы ошибочно выпиливаются линкером, и сэмпл не работает. Если при линковке задать опцию "линкуй все символы", то работает, но сэмпл огромный

Google
Egor
29.05.2018
16:41:29
version-script нужны

Andrey
29.05.2018
16:43:47
version-script пробовал, но что-то пошло не так. Значит надо ещё раз попробовать

Если мы стрипнули символ, то удалится только наружу торчащее объявление его функции, или код этой функции тоже удалится?

Мне надо удалить всё, вместе с кодом

Antony
29.05.2018
17:27:05
да, и это очень грустно, что их нет
над этим работают, есть шанс что появится к C++20

потому что исключение это и есть возвращаемое значение функции
Думаю вам понравится вот это предложение: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0709r0.pdf

Aidar
29.05.2018
17:28:56
б-ян

Constantine
29.05.2018
17:32:34
Думаю вам понравится вот это предложение: http://www.open-std.org/jtc1/sc22/wg21/docs/papers/2018/p0709r0.pdf
Нет, не нравится, я сейчас на пути try_type<ReturnType, /*possible exceptions*/>

Aidar
29.05.2018
17:34:37
а точно, старый код

Constantine
29.05.2018
17:41:52
так это ж expected
слишком много вариантов, expected кажется подразумевает error_code

Alexander
29.05.2018
17:42:00
лучше ллвм в джаву - получится грааль

Алексей
29.05.2018
17:48:39
Не лучше. К тому же статический openssl - это дырища в приложении.
А почему статический ссл хуже динамического? Ведь в случае статика никто не подменит твою либу на свою с бэкдорами и логами?

Constantine
29.05.2018
17:49:50
Алексей
29.05.2018
17:52:53
А что мешает твою программу на свою с бекдорами и логами подменить?
Моя программа находится в изначально неизвестном месте и не сильно разговорчивая, а если её ldd опросить, то ничего интересного не скажет

Google
Alexander
29.05.2018
17:53:25
ну вроде же не Кривое зеркало, ребят

Constantine
29.05.2018
17:55:12
ну в памяти она точно находится, так что патчируем

Алексей
29.05.2018
17:55:23
исправление уязвимостей и так далее
Это да, но система автономная и её нельзя просто так вынести для анализа

Alexander
29.05.2018
17:55:57
Это да, но система автономная и её нельзя просто так вынести для анализа
значит её выносить не будут, а проанализируют на месте

не отходя от кассы

Алексей
29.05.2018
17:56:31
ну в памяти она точно находится, так что патчируем
Ок. В случае админского доступа вся система скомпрометирована

Alexander
29.05.2018
17:56:38
а сейчас будет приписка "А вот там антивирус крутится", "охрана приставлена" и так далее

Constantine
29.05.2018
17:56:41
вообще если есть права на запись программного кода, сложно дальше обсуждать безопасность

(и нет валидации разумеется)

Constantine
29.05.2018
17:57:48
да не важно когда, вы на той же библиотеке можете сертификаты проверять

Matwey
29.05.2018
17:58:13
исправление уязвимостей и так далее
ой, ой, всего месяц назад мне тут про уязвимости говорили "я разработчик, я так вижу" ?

Alexander
29.05.2018
17:58:34
а я рассказывал про другой кейс ?

Constantine
29.05.2018
17:59:06
главное чтобы не было вопроса что делать, если модуль проверки сертификатов скомпрометирован)

Matwey
29.05.2018
18:00:32
главное чтобы не было вопроса что делать, если модуль проверки сертификатов скомпрометирован)
Так ты это. Траст-оф-чейн делай. CPU загружает подписанный Boot ROM, Boot ROM подписанный загрузчик, загрузчик - ядро, ядро - утку, утка - зайца, тянут-потянут...

Алексей
29.05.2018
18:00:32
Ладно. Уговорили. Не буду статиком линковаться ?

Constantine
29.05.2018
18:02:05
Так ты это. Траст-оф-чейн делай. CPU загружает подписанный Boot ROM, Boot ROM подписанный загрузчик, загрузчик - ядро, ядро - утку, утка - зайца, тянут-потянут...
Да я под виндой лежу в известном месте в program files со всеми dll и в ус не дую, если меня перезаписали я уже ничего сделать не могу, там вместо моей программы уже давно лежит DoublePulsar

Google
Constantine
29.05.2018
18:03:19
А под виндой не поддерживается Secury Boot?
Я не очень знаю что это, вроде с вин8 есть защита в духе описанной вами цепочки

Aidar
29.05.2018
18:03:47
А почему статический ссл хуже динамического? Ведь в случае статика никто не подменит твою либу на свою с бэкдорами и логами?
защищаться должно не приложение от юзера и окружения а юзер от дыр в своей системе и вашем коде

Aidar
29.05.2018
18:03:56
первое всегда ломается

Constantine
29.05.2018
18:04:23
С виндой давно всё ясно. Чтобы всё работало надо быть админом, а чтобы не ломали - бесправным ?
Быть админом надо только у разработчиков, которые последней видели winxp

У нас недавно кейс был что не работало, потому что runAsAdmin сделали

Как оказалось система монтирует сетевые диски by user и поэтому админу не доступны диски монтированные под пользователем

Алексей
29.05.2018
18:06:05
Ага. В 7 и 10 стало легче, но uat все рано неудобный

Constantine
29.05.2018
18:06:50
Ну у нас сейчас система проверит сертификатики даже, пушо в манифесте висит uiAccess=true а значит мы обязаны стоять в program files и за сертификатом быть

Правда все равно основные проблемы тупо in memory patch под run as admin

Constantine
29.05.2018
18:09:56
Хакеры неистребимы! ?
Я вот думал поразвлекаться и какой-нибудь LUA подкрутить, чтобы ребятам веселее патчи писать было

И косвенные проверки поставить на сломанный RSA-модуль

В духе атаки с подписыванием мусора

Dmitry
29.05.2018
18:16:37
Добрый вечер. у кого нибудь есть книга Олифер Олифер по сетям на английском?

bytex2
29.05.2018
18:28:08
Добрый вечер

Возникла такая небольшая проблема. Хочу не много автоматизировать свою деятельность нужна помощь программиста или тому кто разбирается в этом короче мне надо какую то штуку придумать.. толи прогу, толи макрос то ли еще что то для автоматизации мне как офисному планктону нужно каждый месяц оформлять однотипные документы - отчеты вот я хочу что бы я что нибудь открываю и там запрос типа выбери дату потом введи название командировки введи еще разные данные там и в итоге после всех вопросов у меня в папке должно свормироваться несколько документов заполненных и что бы имена этих файлов тоже менялись в распоряжении имею libreOffice Может кто помочь?

Egor
29.05.2018
18:29:58
можно латехом нагенерить

bytex2
29.05.2018
18:30:25
можно латехом нагенерить
можно чуть подробнее?

Egor
29.05.2018
18:30:54
это уже оффтоп

Google
bytex2
29.05.2018
18:31:41
это уже оффтоп
понял.. прога называется LaTex?

Bogdan
29.05.2018
18:33:06
Это скорее язык, чем прога

bytex2
29.05.2018
18:38:52
есть желающие поработать? ))

Gleb
29.05.2018
18:39:32
На песчаном карьере?

Pavel
29.05.2018
18:41:34
мясокомбинат наряды не прислал?

bytex2
29.05.2018
18:43:52
ну я имею в виду взяться за мой "проект" и получить бабла

Pavel
29.05.2018
18:44:39
тут гдето был канал с фрилансерами, лучше там спроси

bytex2
29.05.2018
18:45:50
можно ссыль пожалуйста?

Alexander
29.05.2018
18:47:58
Прекращаем оффтопить :-)

A.D.
29.05.2018
18:49:40
Прекращаем оффтопить :-)
шепот зашуршал по аудитории.

ed
29.05.2018
19:23:20
Господа, прошу прощения за вероятный идиотизм в вопросе, но всё таки.. Может ли внутряннее связывание негативно сказаться на производительности программы? И вообще, как внешняя/внутренняя линковка изнутри влияет на производительность? Я про extern и перенос приватных полей в .cpp (чтобы не корячится с friend)

Просто сейчас встал вопрос между "красивым" интерфейсом со статикой вне классов и "некрасивым" со статикой внутри.. Вот сижу и думаю, стоит ли..

Constantine
29.05.2018
19:35:05
я лично не понял вопрос

обычно чем больше видно в TU, тем лучше работает оптимизатор

Andrey
29.05.2018
19:37:45
Мне кажется что вопрос .so vs .a

Vlad
29.05.2018
19:43:14
может кто подскажет, как поменять местами элементы в ряде матрицы местами. у меня оно просто заменяет одно значение на другое, но меняет их местами.

int main() { const unsigned int n = 5; const unsigned int m = 5; srand(time(NULL)); int arr[n][m]; cout << "Matrix before transformation:" << endl; for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { arr[i][j] = rand() % 50; cout << arr[i][j] << "\t"; } cout << endl; } for (int i = 0; i < n; i++) { int min = arr[i][0]; int max = arr[i][0]; for (int j = 0; j < m; j++) { if (arr[i][j] > max) max = arr[i][j]; if (arr[i][j] < min) min = arr[i][j]; if (j == m - 1) { //int *pos1 = &arr[i][0], *pos2 = &max; //int *pos3 = &arr[i][m-1], *pos4 = &min; //swap(*pos1, *pos2); //swap(*pos3, *pos4); swap(arr[i][0], max); swap(arr[i][m-1], min); } } /*cout << endl; cout << min << "\t" << max;*/ } cout << endl; cout << "Matrix after transformation:" << endl; for (int i = 0; i < n; i++) { for (int j = 0; j < m; j++) { cout << arr[i][j] << "\t"; } cout << endl; } system("pause"); return 0; }

Страница 2100 из 2477