
Stanislav
12.07.2016
08:35:42
блин, а документации на Qt3D до сих пор нет

Alex Фэils?︙
12.07.2016
08:36:41
Говно
Но там же gl, да?

Stanislav
12.07.2016
08:37:36
Detailed Description
A viewport on the Qt3D Scene
отлично я считаю)

Google

Stanislav
12.07.2016
08:38:39
At present Qt 3D uses an OpenGL backend but we have left the door open to be able to support more modern APIs such as Vulkan, Metal and DirectX 12 in the future.

Alex Фэils?︙
12.07.2016
08:39:08
Модерн апи, блеять!
Кстати, где-тоьзавалялась у меня пдф-ка как на шилде завести вулкан в крестах

Stanislav
12.07.2016
08:39:44
я на вулкане пока одну игру только знаю, и то, рендер в бета версии

Alex Фэils?︙
12.07.2016
08:39:55
Талос принципл

Stanislav
12.07.2016
08:39:58
да)

Alex Фэils?︙
12.07.2016
08:40:19
Надо б написать игроту
Тетрис с Вулкан АПИ!?
(Всего-то в старом моем тетрисе вьюху поменять на другую)?

Oleg
12.07.2016
12:08:28
https://en.wikipedia.org/wiki/List_of_games_with_Vulkan_support

Эдуард
12.07.2016
14:19:10
народ, есть вопрос такой.
Есть такой код грубо говоря
#pragma pack(push,1)
typedef enum {
CONST_ONE = 1,
CONST_TWO = 2,
CONST_THREE = 3,
} FooEnum;
typedef struct {
bool flag1 : 1;
FooEnum val : 2;
bool flag2 : 1;
uint8_t val2 : 4;
} Register;
#pragma pack(pop)
Ожидается размер структуры в 1 байт (1+2+1+4 = 8), но она получается в 6 байт.
Суть в том, что даже если и первый bool стал длиной в 1 бит, то enum 4 байта, поэтому в сумме это дает 5 байт. И оставшиеся поля как раз уместились в 1 байт, итого 6.
Вопрос заключается в следующем - как сказать enum'у, чтобы он был длиной таки в нужные 2 бита?
Изменить порядок в структуре нельзя, и даже 5 байт это много - это описание регистра в микре.
переходить на дефайны вообще не хочется - безопасность будет устремляться к нулю тогда.

Google

KrivdaTheTriewe
12.07.2016
14:21:20
разве enum по умолчанию не меньше инта?

Эдуард
12.07.2016
14:22:01
емнип, по стандарту, signed int

KrivdaTheTriewe
12.07.2016
14:22:27
уточни зания стандартна
я боюсь в сях там требование, что он именно не меньше инта
про знаковость я не совсем уверен
потому что достаточно часто видел специально всталвенный -1 в enum , чтобы он был знаковым

Эдуард
12.07.2016
14:24:09
мне знаковость в принципе побоку, как и его размер, вопрос больше в том, почему не дается обрезать енум до нужного числа бит и оно в любом случае остается равным 32
Проверить возможность на этапе компиляции возможно же

KrivdaTheTriewe
12.07.2016
14:24:36
потому что нужно в флагах комиплятора разбираться
упаковка структуры - не кросплатформенная вещь

Alex Фэils?︙
12.07.2016
14:24:57
И проверь статик_ассертом размер

KrivdaTheTriewe
12.07.2016
14:25:25
я думаю у него си
а не плюсы

Эдуард
12.07.2016
14:25:48
Сейчас все идет к тому, чтобы убрать из структуры enum и поставить uint8_t, а там уже приводить просто.

Alex Фэils?︙
12.07.2016
14:27:03
Да все равно. Попробуй сначала сделать поля, и тогда в рантайме проверить

Эдуард
12.07.2016
14:27:32
Если использовать исключетельно uintXX_t - все отлично

George
12.07.2016
14:27:46
а если так

Google

George
12.07.2016
14:27:47
enum class FooEnum : uint8_t {
CONST_ONE = 1,
CONST_TWO = 2,
CONST_THREE = 3,
};

Alex Фэils?︙
12.07.2016
14:28:01
Ага
Но это кресты 11

George
12.07.2016
14:28:26
((
не заметил про C99

Эдуард
12.07.2016
14:29:09
кресты хотелось бы, но увы

Alex Фэils?︙
12.07.2016
14:30:01

Эдуард
12.07.2016
14:30:18
IAR

KrivdaTheTriewe
12.07.2016
14:30:27

Alex Фэils?︙
12.07.2016
14:30:27
А вообще - юнион делай

KrivdaTheTriewe
12.07.2016
14:30:31
что прагма не срабатывает
блин, забыл особенности юниона в выравнивании

KrivdaTheTriewe
12.07.2016
14:30:57
давно не писал кода на сях(

Alex Фэils?︙
12.07.2016
14:31:01
union Reg {
uint8_t val;
struct {
/*...*/
}
};
Надо б ща пойти приложиться к священному Граалю
стандарту С99?

Эдуард
12.07.2016
14:34:07
уу, еще и юнион впихивать %) попробую, но пока хз

Alex Фэils?︙
12.07.2016
14:34:34
Ща короч стд скачаю на этот девайс

Эдуард
12.07.2016
16:52:31
Решил проблему в лоб - сами константы остались, но в структуре поменял все на uint8_t (все равно констант больше байта нет)

Admin
ERROR: S client not available

Google

Эдуард
12.07.2016
16:53:56
А вообще плюсы рулят, когда поле методом ставишь - меньше вероятность того, что кто-то снаружи что-то похерит.

Alex Фэils?︙
12.07.2016
16:54:17

Эдуард
12.07.2016
16:54:28
Тем более для плюсов оверхед по размеру над си небольшой, если не делать что-то особенное.

Alex Фэils?︙
12.07.2016
16:54:32

Сергей
12.07.2016
20:08:35
вопрос не по теме, можете потом удалить, но есть вероятность восстановления сбитых настроек роутера?
которые сбиты были штатной возможностью
кнопкой ресета, кек

Stanislav
12.07.2016
20:10:32
Неа

arisu
12.07.2016
20:12:00
есть
по tftp как-нибудь можно сбросить, по-любому
или хард ресет
по типу 30-30-30
как в асусах

Сергей
12.07.2016
20:15:21
не, восстановить
короч забейте
Если там какой-нибудь eeprom
сбит

Roman
13.07.2016
03:41:28
Qt платный под Винду?

Sebastian
13.07.2016
03:43:19
есть и платный
короче есть платная есть бесплатная

Google

Stanislav
13.07.2016
07:35:32
зависит от целей
если делать коммерческий софт, то берем lgpl и динамически линкуем

[Anonymous]
13.07.2016
07:40:51
Есть две бесплатные и одна платная версия
GPL, LGPL, Commercial

Sebastian
13.07.2016
07:43:42
бесплатную версию в коммерческом проекте вроде нельзя статически линковать, но мы ведь все такие проказники

Stanislav
13.07.2016
07:44:17

Sebastian
13.07.2016
07:44:17
другие отличие даже не чекал