@ProCxx

Страница 1276 из 2477
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
А где там UB? char не подпадает под strict aliasing
Вот если это правда, то спасибо, это меня и интересовало

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

Anatoly
04.09.2017
13:00:38
А сейчас задался вопросом - это ж UB
UB это запись в один мембер union-а, а чтение из другого, а кастовать к char* ты имеешь полное право.

Александр
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
блин, жаль :(
очень плохой язык

Google
Anatoly
04.09.2017
14:30:21
-DMACROS=CODE
с параметрами

Mikhail
04.09.2017
14:30:27
-DMACROS=CODE
это разве с параметрами?

Ilia
04.09.2017
14:30:43
Ну наверное можно и параметры вставить

Главное-то не это, а то, что за такое бить надо... БОЛЬНО

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

Berkus
04.09.2017
15:36:01
Научити пажалуста
https://godbolt.org/g/TtCysv не благодари

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

Berkus
04.09.2017
15:38:07
Всем привет! Кто нибудь знает, можно определить глобально в проекте макрос с параметрами? Чтобы не нужно было инклудить файл где он объявлен
можно, но надо прописывать аргументы для компилятора в билдсистеме, то есть он будет инклюдить неявно за тебя - можно, но ОЧЕНЬ ПЛОХАЯ ИДЕЯ

Выглядит страшно
зато порядок аргументов не перепутаешь!

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 вручную?

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
Парни. Кто-то собирал llvm вручную?
я тебе даже скрипт дал который это делает, так что я

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

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