
Mikhail
17.07.2018
19:31:36
Я тебе же уже написал, выше.
С 3d, OpenGL начинать ни в коем случае нельзя, во-первых, это не С++, а С (OpenGL), во-вторых, ты запутаешься сразу же и окончательно. Сначала надо выучить язык С++ (ну, или С), затем можно приступить к 3d & OpenGL
c си я знаком лет 12 уже, но кодил на нём исключительно железо(контроллеры).

Ilia
17.07.2018
19:40:46
А книга для знающих с чтобы изучить с++ - это я не знаю, наверное Страустрап...

Kathu
17.07.2018
19:43:04
по opengl есть отдельный чат, но это как учить с++ по API одной SDK библиотеки

Google

Alex Фэils?︙
17.07.2018
19:44:04
ну, там не только по OpenGL, но велком, да: @prographon

Alexander
17.07.2018
19:44:30
никак не могу найти инфу - умеет или нет msvc в sample-based PGO?
судя по тому, что я нахожу - не умеет

Valentin
17.07.2018
19:46:10

Azoyan
17.07.2018
19:47:18
Эккель это не Java?

Pavel
17.07.2018
19:48:27

Alex Фэils?︙
17.07.2018
20:07:15
https://www.opennet.ru/opennews/art.shtml?num=48979

Bogdasar
17.07.2018
20:18:58

Крис
17.07.2018
20:20:23

Ilia
17.07.2018
20:20:33

Chiveson
17.07.2018
20:51:33
есть какая-нибудь чудо-шаблонная либа реализующая diffie hellman, а то openssl тянуть не хочется?

Alexander
17.07.2018
20:56:13

Chiveson
17.07.2018
21:14:59

Google

Alex Фэils?︙
17.07.2018
21:37:20
Выдери только алгоритм

Ⱪonstantin
18.07.2018
07:11:47
не нужно думать, что в криптографии всё слишком просто.
Да, возведение в степень занимает строк десять. Написать это так, чтобы известные атаки не работали: с генерацией нормального рандома, тесты на простоту, устойчивость к тайм-атакам, устойчивость к другим типам атак. я думаю, надёжная реализация диффи-хеллман протокола никак не может занимать меньше 10к строк
но да, конечно, прототип на питоне - это 10 строчек

Chiveson
18.07.2018
07:16:15

Anatoly
18.07.2018
07:16:36

Ⱪonstantin
18.07.2018
07:16:43
"в лоб" и "криптография" можно использовать только в контексте "перебрать ключ в лоб"
во всех остальных случаях это заканчивается "ваше приложение дыряво как доллоровая шлюха с 40летним стажем" и отдаётся также легко

Chiveson
18.07.2018
07:17:36

Ⱪonstantin
18.07.2018
07:18:09
?

ed
18.07.2018
07:18:27

Chiveson
18.07.2018
07:19:38
https://github.com/kokke/tiny-ECDH-c
есть такое на просторах

Ⱪonstantin
18.07.2018
07:39:55
/* NOTE: assumes private is filled with random data before calling */
int ecdh_generate_keys(uint8_t* public, uint8_t* private);

yuri
18.07.2018
07:42:01

Ⱪonstantin
18.07.2018
07:43:25
и микрофон надо ещё всё время слушать
Но это не значит, что он правда надёжный.

Google

Alexey
18.07.2018
08:01:51

Ildar
18.07.2018
08:02:11
Кто-нибудь знает, как в 2017 студии выключить предпросмотр цпп файла при генерации дефинишена из объявления метода? Чот в гугле ничего не нашёл.

Antony
18.07.2018
08:02:49

Alexey
18.07.2018
08:03:19
/me поискал /dev/random в винде.
не у каждой винды оно есть!

Group Butler [beta]
18.07.2018
08:03:51
ChronosX kicked for flood!

Antony
18.07.2018
08:05:26
Есть замена. см std::random_device
как-то вот так: https://github.com/boostorg/random/blob/develop/src/random_device.cpp#L121
И да, если вам нужна действительно безопасность - смените ОС. Иначе вы никогда не узнаете, что там твроится в ядре, что втиснуто между криптопровайдером и вашим приложением, что там за криптопровайдер, и логируются ли ваши случайные числагде-то ещё на стороне

Alexey
18.07.2018
08:14:49
ну, если динамически линковаться с каким-нибудь openssl, то с помощью LD_PRELOAD, полагаю, можно кое-что сделать и в линуксе.


Ilia
18.07.2018
08:15:54
Добрый день. Возможно, это слишком простые вопросы, но в supapro не получил ответа.
1. Как правильно использовать seed_seq для инициализации mt19937_64?
У меня есть 4 числа в std::array, которые являются источником энтропии.
На данный момент делаю таким образом
std::array<std::uint64_t, 4> arr {1, 2, 3, 4};
std::seed_seq seeds (arr.begin(), arr.end());
std::mt19937_64 gen(seeds);
Но надежно ли такое решение? В некоторых примерах набор seed состоит из 312 (mt19937::state_size) элементов.
2. Также иногда встречается метод generate класса seed_seq, который заполняет контейнер. Но я немного не понимаю его смысл. Нужно инициализировать seed_seq и с помощью generate заполнить контейнер из 312 элементов, инициализировать новый seed_seq этим контейнером и, наконец, передать его mt19937_64? Звучит ужасно и выглядит как костыли.
Иван, просто на следующий раз.
Это вопросы, специфичные для конкретной части библиотеки, для конкретного примерения. Такие вопросы надо сразу в @procxx.


Antony
18.07.2018
08:20:26

Ilia
18.07.2018
08:28:03
Пиши мало длинных и содержательных сообщений.
Не пиши много коротких отрывочных бессодержательных сообщений.
В общем, по формуле
ДУМАЙ! ПИШИ! ШЛИ!

PRO_DanDy
18.07.2018
08:28:45
Ребят, как включить модуль отладки "Машинный код" в студии?
Это так в ошибке написано
Я так понял что нужно просто включить отладку машинного кода
Но вот как это сделать?

Chiveson
18.07.2018
08:28:49

Побитый
18.07.2018
09:11:18
Бот дисциплинирует излагать мысли одним сообщением ?

Fuzzytoozy
18.07.2018
10:05:17
Господа . Я правильно понимаю используя GCC 7.3 и c++17 невозможно создать ассоциативный контейнер value в котором unique_ptr с incomplete типом?

Google

Andrei
18.07.2018
10:06:28
Map можно, unordered_map скорее всего нельзя.

Fuzzytoozy
18.07.2018
10:06:44
Он оба не хочет инсткнцировать

Spoonson
18.07.2018
10:07:14
custom deleter можно попробовать установить

Fuzzytoozy
18.07.2018
10:12:12
Так дело было не в инстанцировании.

Andrey
18.07.2018
10:12:30
Нельзя даже просто проинстанцировать unique_ptr от incomplete типа:
struct X;
namespace std {
template class unique_ptr<X>;
}

Fuzzytoozy
18.07.2018
10:13:01
Дело было в вставке
вот так работает:
std::map<std::string, std::unique_ptr<pcap_t, decltype(&pcap_close)>> pcapDescriptors;
pcapDescriptors.insert(std::make_pair(pcapFullPath, std::unique_ptr<pcap_t, decltype(&pcap_close)>(pcap_open_offline(pcapFullPath.data(), pcap_errbuf), &pcap_close)));

Spoonson
18.07.2018
10:13:59
https://godbolt.org/g/Fcih2i вот так

Fuzzytoozy
18.07.2018
10:14:50
Да, удалятором работает. Вставка даже с удалятором не работает если через operator[] вставлять
а не insert'ом

Тееем
18.07.2018
10:15:20
Ребят, посоветуйте какой-нибудь чат или канал исключительно по C# , заранее спасибо

Alexander
18.07.2018
10:17:00

Fuzzytoozy
18.07.2018
10:17:04
Вобщем если добавлять элементы через operator[] он почему то default ctor дернуть пытается.
/usr/local/include/c++/7.3.0/tuple:1652:70: error: no matching function for call to ‘std::unique_ptr<pcap, void (*)(pcap*)>::unique_ptr()’
second(std::forward<_Args2>(std::get<_Indexes2>(__tuple2))...)

Spoonson
18.07.2018
10:17:52

Тееем
18.07.2018
10:18:09
Спасибо
@pro_net