-
- Да вряд ли. Компилятор не относит extern к внутренностям union и линкер выдает ошибку двойного декларирования переменных, входящих в union. - Vladimir Ljaschko(16.11.2010 17:22)
- А можно подробнее? Мнится мне, что тут простое недопонимание стандарта языка Си. - rezident(16.11.2010 17:32)
- Может быть, только совсем недавно мы с компилятором понимали одинаково. Про линкер я загнул - все происходит при компиляции модуля. Некорректность вижу только в неиспользовании typedef. Vladimir Ljaschko(1587 знак., 16.11.2010 17:42 - 17:44)
- #pragma anon_union есть? А то по-умолчанию оно бывает включено, а бывает и выключено - koyodza(29.11.2010 21:09)
- Warning[Pe161]: unrecognized #pragma D:\vl-projects\IAR_trouble\Short\f_backup.c 4 - Vladimir Ljaschko(30.11.2010 09:25)
- ну извиняйте, может в иаре оно как-то по-другому зовётся - koyodza(30.11.2010 09:49)
- Не, спасибо за то, что я понял, что это не я сам придумал, что юнион без имени существует или существовал :) - Vladimir Ljaschko(30.11.2010 10:58)
- я тоже этим приёмом пользуюсь. Правда, в С++ его кажись зарубили. А жаль - koyodza(30.11.2010 11:28)
- Не, спасибо за то, что я понял, что это не я сам придумал, что юнион без имени существует или существовал :) - Vladimir Ljaschko(30.11.2010 10:58)
- ну извиняйте, может в иаре оно как-то по-другому зовётся - koyodza(30.11.2010 09:49)
- Warning[Pe161]: unrecognized #pragma D:\vl-projects\IAR_trouble\Short\f_backup.c 4 - Vladimir Ljaschko(30.11.2010 09:25)
- Пардон, тег code сильно исказил текст, не заметил бекслешей, думал проблема в их отсутствии. :) ut1wpr(26 знак., 23.11.2010 17:14 - 17:17)
- Действительно выдает ошибки. IAR EW430 5.10.6. Этот же кусок в IAR EWARM 5.50.5 компилируется без ошибок. - rezident(16.11.2010 18:19)
- Нет, typedef struct не помогает. - Vladimir Ljaschko(16.11.2010 17:53)
- #pragma anon_union есть? А то по-умолчанию оно бывает включено, а бывает и выключено - koyodza(29.11.2010 21:09)
- Может быть, только совсем недавно мы с компилятором понимали одинаково. Про линкер я загнул - все происходит при компиляции модуля. Некорректность вижу только в неиспользовании typedef. Vladimir Ljaschko(1587 знак., 16.11.2010 17:42 - 17:44)
- А можно подробнее? Мнится мне, что тут простое недопонимание стандарта языка Си. - rezident(16.11.2010 17:32)
- Да вряд ли. Компилятор не относит extern к внутренностям union и линкер выдает ошибку двойного декларирования переменных, входящих в union. - Vladimir Ljaschko(16.11.2010 17:22)