
fox.cpp
04.09.2017
12:55:46
ну reinterpret_cast<uint8_t*>(&pod) и используй, как массив с размером структуры

Александр
04.09.2017
12:55:53
Это UB всё
Я так и юзал всегда. То юнион, то каст

fox.cpp
04.09.2017
12:56:22
ну дк других способов нет

Google

Александр
04.09.2017
12:56:25
А сейчас задался вопросом - это ж UB

Alexander
04.09.2017
12:57:06
@username_ak иди в @supapro и не спамь здесь

fox.cpp
04.09.2017
12:57:14
UB UB UB UB UB, работает везде, где надо

Alexander
04.09.2017
12:57:20
Админы, ставлю вопрос о том, что он спамит одними нубскими вопросами

Matwey
04.09.2017
12:57:26
А где там UB? char не подпадает под strict aliasing

Александр
04.09.2017
12:58:37

fox.cpp
04.09.2017
12:58:51
со своими "я люблю сегфолты (нет)"

Anatoly
04.09.2017
13:00:38

Александр
04.09.2017
13:04:49
Соответственно
A a;
s.read((char*)&a, sizeof(a));
Тоже валиден?
Будем считать, что да

Anatoly
04.09.2017
13:10:06
валиден

Google

Pavel
04.09.2017
13:15:40
а что насчет выравнивания полей в структуре?
если будет с одной стороны 32 битная с другой 64 битная то точно всё уедет
attribute packed и прочее где?

Anatoly
04.09.2017
13:20:23
Для таких структур устанавливается выравнивание явно. А вообще при передаче POD объектов по сети слишком много допущений должно быть выполнено: одинаковое выравнивание, одинаковая разрядность платформы, одинаковый порядок следования байт (endianness)
здесь самопал бы я не городил, а взял бы https://developers.google.com/protocol-buffers/

Александр
04.09.2017
13:32:30

Pavel
04.09.2017
13:32:53
я не про типы а про выравнивание их в структуре

Александр
04.09.2017
13:32:55
вот endianness - это важно, да
самопал иногда нужно городить, когда на "той" стороне уже придумали свой бинарный протокол и не реагируют на иной
например, когда пилишь эмулятор к какой-нибудь игрушке (даже мобильной)

Anatoly
04.09.2017
13:35:27
ну, тогда ничего не попишешь, тогда самопал

Александр
04.09.2017
13:37:08
всем спасибо за объяснения

Pavel
04.09.2017
13:54:21
https://godbolt.org/g/zQDJXz
слоупок.жпг

Александр
04.09.2017
14:04:34
да это понятно. packed и #pragma никто не отменял

Mikhail
04.09.2017
14:24:20
Всем привет! Кто нибудь знает, можно определить глобально в проекте макрос с параметрами? Чтобы не нужно было инклудить файл где он объявлен

Evgeniy
04.09.2017
14:24:30
нет

Mikhail
04.09.2017
14:25:01
блин, жаль :(

Anatoly
04.09.2017
14:26:32

Ilia
04.09.2017
14:29:58

Google

Anatoly
04.09.2017
14:30:21

Mikhail
04.09.2017
14:30:27

Ilia
04.09.2017
14:30:43
Ну наверное можно и параметры вставить
Главное-то не это, а то, что за такое бить надо... БОЛЬНО

Антон
04.09.2017
14:47:22
уже пришел оттуда мне сказали причину

Berkus
04.09.2017
15:36:01

Like
04.09.2017
15:37:16
Выглядит страшно

Berkus
04.09.2017
15:38:07

Mikhail
04.09.2017
15:38:28

Berkus
04.09.2017
15:38:54
ну если не вариант то ответ НЕТ

Stanislav
04.09.2017
15:39:12

Berkus
04.09.2017
15:39:31
ну если им билд систему не пропатчить, то...

Stanislav
04.09.2017
15:39:57

Admin
ERROR: S client not available

Stanislav
04.09.2017
15:40:26
если мейкфайл то какой нибудь CXXFLAGS=-D_MY_UBER_MACROS

Berkus
04.09.2017
15:42:31
там можно компилеру указать пре-инклюдить хедер, а в хедер напихать что угодно

Ned Ogl
04.09.2017
15:57:43
Парни. Кто-то собирал llvm вручную?

Alexander
04.09.2017
15:57:56

Evgeniy
04.09.2017
15:58:01

Google

Alexander
04.09.2017
15:58:14
ну я так понимаю, что кто компилял

Ned Ogl
04.09.2017
15:58:23
Ну сам компилил, а не пребилд бинари юзал

Evgeniy
04.09.2017
15:58:58
а, ну я

Berkus
04.09.2017
15:59:34

Ned Ogl
04.09.2017
15:59:47
Блин точно
Собрался таки собрать себе кросскомпиль для D

Berkus
04.09.2017
16:00:17
все что ему надо - это сказать какие коммиты брать для сборки, остальное он сам. можно тупо master вбить тогда из мастера соберет
можешь туда ldc сразу затолкать в дерево, если он плагином собирается
хотя подозреваю что нет

Ned Ogl
04.09.2017
16:00:41
Да, я читал его
Нет, плагином не собирается: (

Berkus
04.09.2017
16:00:54
ну тады ой
главное не забудь -j12 или больше ему задать если ты мейкфайлы генеришь
а то неделю будет собираться
ну или просто взять ninja

Ned Ogl
04.09.2017
16:02:08
А сам себя он откомпилить может? Есть уже предустановленный шланг и ллвм. Он точно подцепит сам себя, а не гцц?

Berkus
04.09.2017
16:02:27
что в CC/CXX укажешь то и подцепит
CMAKE_C_COMPILER есть такая штука

Ned Ogl
04.09.2017
16:03:54
Со времён сборки lfs очень бешусь с параметров конфигурации

Berkus
04.09.2017
16:04:11
покажите на этом дистрибутиве где вас трогал LFS