-
- Вообще-то для container_of не нужен костыль typeof. #define container_of(ptr, type, member) ((type *)(void *)((char *)(ptr) - offsetof(type, member))) - Юра(26.06.2013 23:54,
)
- И вам потребовалось 5 дней, чтобы это понять? Бросайте это гиблое дело. Или попробуйте все-таки запустить гэцэцэ. - SciFi(26.06.2013 23:57 - 23:59, ссылка)
- Может, Ваш код и работает в ГЦЦ, но в той среде, которую обозначил товарищ - не работает. Тогда зачем он?)) - Юра(27.06.2013 00:07,
)
- Пардоньте, спутал Вас с молодым коллегой. Не обессудьте. - SciFi(27.06.2013 00:09)
- Кстати, с помощью х-макро ничего не стОит сделать свой вариант typeof(val). Даже наверно может пригодиться, если в проекте есть связанные типы данных, которые, если придется менять - то строго синхронно :) - Юра(27.06.2013 13:37,
)
- ;) Vladimir Ljaschko(246 знак., 27.06.2013 14:16)
- Кстати, с помощью х-макро ничего не стОит сделать свой вариант typeof(val). Даже наверно может пригодиться, если в проекте есть связанные типы данных, которые, если придется менять - то строго синхронно :) - Юра(27.06.2013 13:37,
- Пардоньте, спутал Вас с молодым коллегой. Не обессудьте. - SciFi(27.06.2013 00:09)
- Может, Ваш код и работает в ГЦЦ, но в той среде, которую обозначил товарищ - не работает. Тогда зачем он?)) - Юра(27.06.2013 00:07,
- И вам потребовалось 5 дней, чтобы это понять? Бросайте это гиблое дело. Или попробуйте все-таки запустить гэцэцэ. - SciFi(26.06.2013 23:57 - 23:59, ссылка)
- auto ? - zeleny(26.06.2013 19:47)
- В данном случае достаточно sizeof. - fk0(26.06.2013 18:13)
- del - Молодой коллега(26.06.2013 18:04)
- Нету в яре такого. И без него можно перетоптаться: в статье по сцылке сказано, что оно там "for type checking purposes". - SciFi(21.06.2013 13:03)
- Не понял как перетоптаться, какого типа объявлять переменную в макросе "container_of"? Молодой коллега(113 знак., 26.06.2013 18:05)
- Бросайте это гиблое дело. Запускайте гэцэцэ. Или увлекаетесь мазохизмом? SciFi(174 знак., 26.06.2013 18:39)
- Оно то конечно можно, но придется весь проект в GCC перекидывать, а это сложнее чем костыли придумать для typeof и выравнивания. - Молодой коллега(26.06.2013 18:47)
- Ничего страшного. Зато на практике увидите, что такое
непереносимый код. Это полезно. SciFi(116 знак., 26.06.2013 19:14 - 19:17)- Раздербаниванивание линукса показывает что его код как раз и есть трудно переносимый, так зачем мне GCC? - Молодой коллега(27.06.2013 11:03)
- Я думаю в таких заявлениях стоит упоминать переносимость какого рода упоминается. Между компиляторами или между архитектурами. Те же директивы выравнивания полей структуры в GCC сильно облегчают понимание и написание программы, как и typeof, а IAR amx(193 знак., 27.06.2013 11:40)
- Как зачем? Чтобы скомпилировать драйвер EHCI. Кстати, а вы думали, что наш пламенный товарищ шутил, когда говорил, что линукс - это паделка финских студентов? - SciFi(27.06.2013 11:12)
- Ну тогда давайте честно скажем что переносимость кода не зависит от компилятора, а зависит от разработчика. - Молодой коллега(27.06.2013 11:26)
- Раздербаниванивание линукса показывает что его код как раз и есть трудно переносимый, так зачем мне GCC? - Молодой коллега(27.06.2013 11:03)
- Дадада! Этот ваш GCC работает в страшном чёрном досе! В нём даже не встроена нормальная IDE. И там нужно руками писать ужасные Makefile. - fk0(26.06.2013 19:04)
- Страшный черный дос ..чур меня. :) - Молодой коллега(27.06.2013 11:06)
- Ничего страшного. Зато на практике увидите, что такое
- Оно то конечно можно, но придется весь проект в GCC перекидывать, а это сложнее чем костыли придумать для typeof и выравнивания. - Молодой коллега(26.06.2013 18:47)
- Бросайте это гиблое дело. Запускайте гэцэцэ. Или увлекаетесь мазохизмом? SciFi(174 знак., 26.06.2013 18:39)
- Не понял как перетоптаться, какого типа объявлять переменную в макросе "container_of"? Молодой коллега(113 знак., 26.06.2013 18:05)
- Вообще-то для container_of не нужен костыль typeof. #define container_of(ptr, type, member) ((type *)(void *)((char *)(ptr) - offsetof(type, member))) - Юра(26.06.2013 23:54,