-
- Чем плох такой вариант? Проверял на IAR, оптимизирует полностью. vmp(3270 знак., 25.01.2017 23:36)
- Тогда уж лучше так. Этот вариант и SDCC проглатывает. Ozelot(298 знак., 26.01.2017 11:41)
- Static не канает. Структур сильно более одной, передаются одним вызовом foo. - LightElf(26.01.2017 12:00)
- Вот еще вариант, но он мне тоже не нравится. Ozelot(382 знак., 26.01.2017 13:08)
- Тама основной затык в том, что в foo надо передать параметры разных типов, а va_arg не может тип проверить. Получается такая фигня: LightElf(285 знак., 26.01.2017 13:21)
- А если передавать void* на структуру, первым членом которой будет длина этой структуры, вторым - перечисляемый тип следующего члена и т.д. Ну и считывать её в цикле, при этом расшифровывая. - бомж(26.01.2017 23:07)
- хорошая идея! попозжее нарисую. спасибо! Nikolay801_(1010 знак., 27.01.2017 08:46 - 30.01.2017 11:57)
- Сериализация и десериализация! fk0 бьётся в экстазе! :-) - SciFi(26.01.2017 23:11)
- это вы сейчас про микропроцессоры или про прямую кишку? - Крок(26.01.2017 23:34)
- :))) - бомж(26.01.2017 23:28)
- поэтому очень удобно передавать указатель на структуру, в которой первый параметр определяет тип следующих данных :) - 0men(26.01.2017 13:44)
- Ну да, примерно это я и имел ввиду :) - Ozelot(26.01.2017 22:01)
- А если передавать void* на структуру, первым членом которой будет длина этой структуры, вторым - перечисляемый тип следующего члена и т.д. Ну и считывать её в цикле, при этом расшифровывая. - бомж(26.01.2017 23:07)
- Тама основной затык в том, что в foo надо передать параметры разных типов, а va_arg не может тип проверить. Получается такая фигня: LightElf(285 знак., 26.01.2017 13:21)
- Согласен - Ozelot(26.01.2017 12:04)
- Вот еще вариант, но он мне тоже не нравится. Ozelot(382 знак., 26.01.2017 13:08)
- OFF а sdcc не для stm8 пользуете? - Andreas(26.01.2017 11:58)
- В основном 8051, изредка stm8 - Ozelot(26.01.2017 12:03)
- Как по сравнению с коммерческими на stm8? Пару лет назад был полный ужас-ужас, но проект вроде развивается. - Andreas(26.01.2017 12:05)
- Вот же --> - SciFi(26.01.2017 12:22, ссылка)
- Stm8 code size - Ozelot(26.01.2017 12:35, ссылка)
- Это я видел, как-то подозрительно хорошо выглядит. - Andreas(26.01.2017 12:31)
- Последний раз использовал stm8 примерно год назад. Компиляторы cosmic, iar, sdcc. Большой разницы не заметил. Ozelot(417 знак., 26.01.2017 12:21)
- Спасибо, уже приемлимо, надо пробовать. - Andreas(26.01.2017 12:25)
- А внутрисхемная отладка? - SciFi(26.01.2017 12:28)
- это пока на случай форс-мажора, при нем можно и без отладки. Лишь бы выхлоп sdcc работал и в кристалл лез. - Andreas(26.01.2017 12:41)
- А внутрисхемная отладка? - SciFi(26.01.2017 12:28)
- Спасибо, уже приемлимо, надо пробовать. - Andreas(26.01.2017 12:25)
- Вот же --> - SciFi(26.01.2017 12:22, ссылка)
- Как по сравнению с коммерческими на stm8? Пару лет назад был полный ужас-ужас, но проект вроде развивается. - Andreas(26.01.2017 12:05)
- В основном 8051, изредка stm8 - Ozelot(26.01.2017 12:03)
- Static не канает. Структур сильно более одной, передаются одним вызовом foo. - LightElf(26.01.2017 12:00)
- Вариант хороший, буду рассматривать. - LightElf(26.01.2017 10:45)
Закат солнцаконструктор класса в ручную. Может тогда на С++ перейти? Тогда хоть будет обоснование того, что ОСь такая странная, там этим никого не удивишь. - =AlexD=(26.01.2017 10:57)- Я пока недостаточно понимаю, как стеки задач, созданные через setjmp, уживутся со всякими плюсовыми фенечками. - LightElf(26.01.2017 11:25)
- Заодно и узнаешь :-) . По сути там только эксцепшены нужно проверять. - =AlexD=(26.01.2017 12:06)
- А этого никто никогда не сможет понять. Эти фенечки множатся быстрее, чем человечество успевает их осмысливать :-) - SciFi(26.01.2017 11:29)
- Я пока недостаточно понимаю, как стеки задач, созданные через setjmp, уживутся со всякими плюсовыми фенечками. - LightElf(26.01.2017 11:25)
- А как же переносимость? SDCC идёт лесом --> - SciFi(26.01.2017 10:50, ссылка)
- Переносимость изначально предполагалась на компиляторы, соответствующие ANSI C. Если SDCC не совместим - он в пролете. Ну и потому, SDCC в основном используют для всяких там 8051, для которых переносимость не возможна, бо у него аппаратный стек LightElf(10 знак., 26.01.2017 10:56)
- Для 51х компиляторы всю жисть делали компилируемый стек. - =AlexD=(26.01.2017 10:59)
- Переносимость изначально предполагалась на компиляторы, соответствующие ANSI C. Если SDCC не совместим - он в пролете. Ну и потому, SDCC в основном используют для всяких там 8051, для которых переносимость не возможна, бо у него аппаратный стек LightElf(10 знак., 26.01.2017 10:56)
- Тогда уж лучше так. Этот вариант и SDCC проглатывает. Ozelot(298 знак., 26.01.2017 11:41)
- Смотри: fk0(658 знак., 25.01.2017 00:12)
- Может лучше передавать указатель на структуру? - Ozelot(24.01.2017 21:36)
- Чем лучше? - =AlexD=(25.01.2017 06:33)
- Часто использую SDCC. В нем передача структуры в функцию не поддерживается. - Ozelot(25.01.2017 10:13)
- М-да, не осилили. Интересно, слепить вот этот SDCC проще, чем заточить LLVM? - SciFi(25.01.2017 10:30)
- Сочувствую. - =AlexD=(25.01.2017 10:28)
- Часто использую SDCC. В нем передача структуры в функцию не поддерживается. - Ozelot(25.01.2017 10:13)
- Чем лучше? - =AlexD=(25.01.2017 06:33)
- …объявить не две константы 1 и 2, а сразу константу-структуру {1,2}, если уж пошли извращаться на все лады… %) - Николай Коровин(24.01.2017 21:29)
- А нахуа? Компилятор эту переменную сам выбросит. Разве что подкиньте ему подсказку, в виде блока. Скрипач(156 знак., 24.01.2017 19:58 - 20:13)
- не понял, это как? Nikolay801_(115 знак., 25.01.2017 10:06)
- Есть язык Керригана и Ричи. А есть новомодные диалекты. Вероятность что завтра придется переезжать на какой-то процессор, компилятор для которого не поддерживает "новые диалекты" - ненулевая. Скрипач(131 знак., 25.01.2017 11:25 - 11:34)
- Тогда уж лучше говорить о языке C90. Потому что у "языка K&R" в ряде мест кривизна оставалась, но её поправили в процессе стандартизации. Долгое время говорили "ANSI C", кстати. - SciFi(25.01.2017 11:29)
- А зачем? Скрипач(164 знак., 25.01.2017 11:33)
- Тащить за собой кривой язык везде и всюду - это бремя. Ясно, что любые крайности вредны. Соглашусь, что надо взвешивать "за" и "против" и принимать осознанные решения. У меня нет такой специфики. А у тебя, небось, и машинка для перфокарт припасена SciFi(4 знак., 25.01.2017 11:39)
- ...точнее инструкция, как вводить
коды пускас панели :) Скрипач(281 знак., 25.01.2017 11:48 - 11:51)
- ...точнее инструкция, как вводить
- Тащить за собой кривой язык везде и всюду - это бремя. Ясно, что любые крайности вредны. Соглашусь, что надо взвешивать "за" и "против" и принимать осознанные решения. У меня нет такой специфики. А у тебя, небось, и машинка для перфокарт припасена SciFi(4 знак., 25.01.2017 11:39)
- А зачем? Скрипач(164 знак., 25.01.2017 11:33)
- Тогда уж лучше говорить о языке C90. Потому что у "языка K&R" в ряде мест кривизна оставалась, но её поправили в процессе стандартизации. Долгое время говорили "ANSI C", кстати. - SciFi(25.01.2017 11:29)
- Никак. Скрипач не знает рамок языка. Его величество не утруждает себя чтением спецификации. SciFi(79 знак., 25.01.2017 10:22)
- Есть язык Керригана и Ричи. А есть новомодные диалекты. Вероятность что завтра придется переезжать на какой-то процессор, компилятор для которого не поддерживает "новые диалекты" - ненулевая. Скрипач(131 знак., 25.01.2017 11:25 - 11:34)
- Задачка несколько шире, функа должна принимать переменное число параметров. Каждый параметр - структура. С промежуточными переменными громоздко и неинтуитивно. К тому же не факт, что компилятор эти переменные выбросит. - LightElf(24.01.2017 20:03)
- под переменное число параметров можно слепить свою функцию аля принтф -> - Nikolay801_(25.01.2017 10:02, ссылка)
- Вначале скажи, что ты называешь "C". C89 (коммерческие говнокомпиляторы), C99 (gcc), C11, C++03 (древние VisualStudio), C++11, C++14? В общем случае ответ -- compound literals (см. выше мой ответ), но не для C89. Для C++03 -- напиши явный fk0(13 знак., 25.01.2017 00:14)
- Ужо разобрались. Или требовать це99 или обломинго. - Lightelf(25.01.2017 00:44)
- Вундервафеля какая-то, прости господи. Скрипач(165 знак., 24.01.2017 20:10)
- Насколько я знаю, переменные параметры всегда передаются через стек. Если printf работает - значит как-то передаются. - Lightelf(24.01.2017 21:01)
- в принтэфе всегда сначала передается строка, в которой описывается сколько и каких последует за ней параметров. - Nikolay801_(25.01.2017 09:27)
- Там размер "блока переменных параметров" передаётся, вместе с самим блоком. Где он у вас? Скрипач(91 знак., 24.01.2017 22:09)
- Почему не использую? Использую. stdarg.h прекрасно справляется со структурами. Lightelf(93 знак., 24.01.2017 22:28 - 22:42)
- так в принтф целые типы и указатель на строку - 0men(24.01.2017 21:02)
- А чем принципиально отличается передать в стеке один int64 или структуру из двух int? - Lightelf(24.01.2017 21:04)
- это зависит от разрядности используемого проца :) - 0men(24.01.2017 21:07)
- А чем принципиально отличается передать в стеке один int64 или структуру из двух int? - Lightelf(24.01.2017 21:04)
- соглашусь, передача структур в функцию это не комильфо совсем - 0men(24.01.2017 20:37)
- Почему? Если задача экономии стека не стоит? - Lightelf(24.01.2017 21:02)
- Бред. _basile(151 знак., 25.01.2017 00:44, )
- Вам лишь бы что-нибудь поэкономить. Экономисты, млин. Купите уже нормальный МК, они нынче дешевле чем эти ваши авры. - SciFi(25.01.2017 09:29)
- 1. Тут байты экономятся, а в другом месте килобайты тратятся... 2. f((struc){ .name=val, .other=val }) -- набивать можно не все, а нужные; 3. мне думается, автор хочет это для хитрого макроса (лучше бы сразу сказал чего хочет). - fk0(25.01.2017 02:34)
- Запускаем це-шедулер, передавая ему список задач для выполнения, размер стека для каждой задачи и параметр для каждой задачи. - Lightelf(25.01.2017 08:40)
- Т.е. noreturn-функция? А места в стеке, под ее параметры, не жалко? :) Скрипач(152 знак., 25.01.2017 08:56 - 09:00)
- А памяти под список (который используется ровно один раз) не жалко? TCB все равно создаются на стеке. - LightElf(25.01.2017 09:53)
- Память под параметры функции create_task() будет ей, по выходу, возвращена. ТСВ совершенно не обязательно создавать именно в стеке. И переданные в sheduler параметры вовсе не ТСВ, один в один. Но тут уже многое от используемой вами RTOS зависит. - Скрипач(25.01.2017 10:26 - 10:29)
- Мы начинаем ходить по кругу. Проект собственно и есть игрушечная многозадачка. Основной фичей является использование только C90, без ассемблеров и прочих интринсиков. Потому есть некоторые особенности. - LightElf(25.01.2017 10:46)
- Бинго! :) Отличная иллюстрация к обсуждению зачем копировать API промышленных стандартов :) Скрипач(74 знак., 25.01.2017 11:20)
- Именно от того, что поставил себя на место ПОЛЬЗОВАТЕЛЯ и появился исходный вопрос. Банально удобнее и понятнее написать: LightElf(231 знак., 25.01.2017 11:53)
- Ну фиг его знает, будет ли оно читаемее и сопровождаемее. Структуру инициализации можно сделать константной и расположить в начале программы с сопутствующими комментариями, а твою ct_run нужно искать по всему тексту. - =AlexD=(25.01.2017 12:32)
- А если структур несколько? Ну там джампер установлен - запускаем задачи 1, 2, 3. Джампер снят - 2, 3, 4. Причем 2 и 3 - с другими параметрами. Вот и получится куча константных структур, размазанных по всем исходникам. - LightElf(25.01.2017 15:03)
- Есть предложение еще круче - всю работу с регистром АХ собрать в одном месте, а не размазывать по всем исходникам %) - Скрипач(25.01.2017 15:12)
- Как только в Це89 станет возможна работа с регистром AX - я рассмотрю ваше предложение. - LightElf(25.01.2017 15:15)
- Есть предложение еще круче - всю работу с регистром АХ собрать в одном месте, а не размазывать по всем исходникам %) - Скрипач(25.01.2017 15:12)
- Дело не в том, лучше это или нет. Дело в том, что это по другому. Уважаемый аффтар забыл что его RTOS более чем три тысячи седьмая по счету, а не первая и едиственная. - Скрипач(25.01.2017 12:35)
- Ясный пень, что API будет отличаться. Но за чистый Це приходится платить. - LightElf(25.01.2017 14:42)
- Т.е. для Вас это "ясно", как вы выразились, "как пень"? А можно нескромный вопрос? Скрипач(93 знак., 25.01.2017 14:57)
- Патамучта гладиолус! LightElf(138 знак., 25.01.2017 15:06)
- Да здравствует ещё один велосипед! Говорят, в RTOS есть тонкие вещи, которые несложно залажать. Оно надо? - SciFi(25.01.2017 15:25)
- Почему еще один? Он не новый, просто созрело желание кое-что изменить. Например сделать статические приоритеты. - LightElf(25.01.2017 15:40 - 15:49, ссылка)
- API, к гладиолусу, зачем нестандартным делать? Пана мучает "Синдром фатального недостатка"? :) - Скрипач(25.01.2017 15:08)
- API делается таким, каким его сделать возможно при указанных ограничениях языка Це. - LightElf(25.01.2017 15:14)
- ...и каким посчитает для себя необидным сделать его уважаемый аффтар 8) - Скрипач(25.01.2017 15:17)
- В языке Це невозможно переключать стеки произвольным образом. В языке Це нельзя запретить прерывания. Потому - вот так. - LightElf(25.01.2017 15:20)
- Ну да. Без этого, описания всех задач нужно пихать шедюреру через параметры вызова. Просто еще раз убеждаюсь что правильный HAL это не только абстрагирование от аппаратуры, но и
от своих коллегот операционной системы. - Скрипач(25.01.2017 15:23 - 15:42)- Весь API, в данном случае, представлен 6 функциями. - LightElf(25.01.2017 15:50)
- сатори - Скрипач(25.01.2017 16:09)
- Весь API, в данном случае, представлен 6 функциями. - LightElf(25.01.2017 15:50)
- Ну да. Без этого, описания всех задач нужно пихать шедюреру через параметры вызова. Просто еще раз убеждаюсь что правильный HAL это не только абстрагирование от аппаратуры, но и
- В языке Це невозможно переключать стеки произвольным образом. В языке Це нельзя запретить прерывания. Потому - вот так. - LightElf(25.01.2017 15:20)
- ...и каким посчитает для себя необидным сделать его уважаемый аффтар 8) - Скрипач(25.01.2017 15:17)
- API делается таким, каким его сделать возможно при указанных ограничениях языка Це. - LightElf(25.01.2017 15:14)
- Да здравствует ещё один велосипед! Говорят, в RTOS есть тонкие вещи, которые несложно залажать. Оно надо? - SciFi(25.01.2017 15:25)
- Патамучта гладиолус! LightElf(138 знак., 25.01.2017 15:06)
- Т.е. для Вас это "ясно", как вы выразились, "как пень"? А можно нескромный вопрос? Скрипач(93 знак., 25.01.2017 14:57)
- Ясный пень, что API будет отличаться. Но за чистый Це приходится платить. - LightElf(25.01.2017 14:42)
- А если структур несколько? Ну там джампер установлен - запускаем задачи 1, 2, 3. Джампер снят - 2, 3, 4. Причем 2 и 3 - с другими параметрами. Вот и получится куча константных структур, размазанных по всем исходникам. - LightElf(25.01.2017 15:03)
- Ну фиг его знает, будет ли оно читаемее и сопровождаемее. Структуру инициализации можно сделать константной и расположить в начале программы с сопутствующими комментариями, а твою ct_run нужно искать по всему тексту. - =AlexD=(25.01.2017 12:32)
- Именно от того, что поставил себя на место ПОЛЬЗОВАТЕЛЯ и появился исходный вопрос. Банально удобнее и понятнее написать: LightElf(231 знак., 25.01.2017 11:53)
- Бинго! :) Отличная иллюстрация к обсуждению зачем копировать API промышленных стандартов :) Скрипач(74 знак., 25.01.2017 11:20)
- Мы начинаем ходить по кругу. Проект собственно и есть игрушечная многозадачка. Основной фичей является использование только C90, без ассемблеров и прочих интринсиков. Потому есть некоторые особенности. - LightElf(25.01.2017 10:46)
- Память под параметры функции create_task() будет ей, по выходу, возвращена. ТСВ совершенно не обязательно создавать именно в стеке. И переданные в sheduler параметры вовсе не ТСВ, один в один. Но тут уже многое от используемой вами RTOS зависит. - Скрипач(25.01.2017 10:26 - 10:29)
- А памяти под список (который используется ровно один раз) не жалко? TCB все равно создаются на стеке. - LightElf(25.01.2017 09:53)
- Т.е. noreturn-функция? А места в стеке, под ее параметры, не жалко? :) Скрипач(152 знак., 25.01.2017 08:56 - 09:00)
- Запускаем це-шедулер, передавая ему список задач для выполнения, размер стека для каждой задачи и параметр для каждой задачи. - Lightelf(25.01.2017 08:40)
- Бред. _basile(151 знак., 25.01.2017 00:44, )
- Почему? Если задача экономии стека не стоит? - Lightelf(24.01.2017 21:02)
- Насколько я знаю, переменные параметры всегда передаются через стек. Если printf работает - значит как-то передаются. - Lightelf(24.01.2017 21:01)
- В функцию с переменным числом аргументов уже можно передавать структуры? Я что-то пропустил? - SciFi(24.01.2017 20:05)
- Если они являются POD-типом -- можно. Т.е. в C можно всегда. - fk0(25.01.2017 00:15)
- А почему нет? - LightElf(24.01.2017 20:07)
- Хм, наверное, можно... Но не удивлюсь, если некоторые убогие компиляторы это залажают... - SciFi(24.01.2017 20:24)
- Честно говоря, не понимаю что там можно залажать. Если говорить о процессорах с нормальной линейной памятью. - Lightelf(24.01.2017 20:56)
- и все таки, что мешает передать указатели на структуру? там можно будет использоваться va_arg без проблем - 0men(24.01.2017 21:01)
- Если структуры мелкие, то нет никакой разницы. С точки зрения машины, список аргументов функции - это одна большая структура, лежащая в стеке. - =AlexD=(25.01.2017 06:43)
- Короче, тут сборище ретроградов. Запинали прогрессора :-) - SciFi(24.01.2017 21:23)
- ))) +1 - 0men_home(24.01.2017 22:23, )
- Я сам знатный ретроград. Но это мелкий проектик для души, хочется там пощупать все темные и непонятные углы языка. - Lightelf(24.01.2017 21:26)
- Ну и нефиг тогда консультироваться у ретроградов. Ну и вот ещё аргумент: демократия до добра не доведёт :-) - SciFi(24.01.2017 21:34)
- Ну собственно правильный ответ от Молодого коллеги - я получил. А дальше - просто разговоры о прекрасном. - Lightelf(24.01.2017 21:42)
- Ну и нефиг тогда консультироваться у ретроградов. Ну и вот ещё аргумент: демократия до добра не доведёт :-) - SciFi(24.01.2017 21:34)
- +1. С указателем всё ясно, а так передаётся непонятно что, сколько там оно стека отъест.. - Молодой коллега(24.01.2017 21:17)
- А структуры ещё и return'ом возвращать можно... - fk0(25.01.2017 00:16)
- Сжигать на костре за такое надо. :) - Молодой коллега(25.01.2017 00:28)
- Библиотечная функция div, например... - fk0(25.01.2017 02:35)
- Сжигать на костре за такое надо. :) - Молодой коллега(25.01.2017 00:28)
- Ладно, уговорили :) Инициализацию структуры можно завернуть в красивый макрос и сложить во флеш. - Lightelf(24.01.2017 21:22)
- А структуры ещё и return'ом возвращать можно... - fk0(25.01.2017 00:16)
- Ничего, сейчас так и делаю. Но некрасиво и неудобно: структура описывается в одном месте, инициализируется в другом и используется в третьем. Область видимости, время жизни, субординация и выслуга лет. - Lightelf(24.01.2017 21:09)
- зато все четко, ясно и по госту :) - 0men(24.01.2017 21:12)
- For whom how. - Lightelf(24.01.2017 21:20)
- зато все четко, ясно и по госту :) - 0men(24.01.2017 21:12)
- -1. Предрассудки. - SciFi(24.01.2017 21:08)
- +1 - Evgeny_CD(24.01.2017 21:05)
- и все таки, что мешает передать указатели на структуру? там можно будет использоваться va_arg без проблем - 0men(24.01.2017 21:01)
- Честно говоря, не понимаю что там можно залажать. Если говорить о процессорах с нормальной линейной памятью. - Lightelf(24.01.2017 20:56)
- Хм, наверное, можно... Но не удивлюсь, если некоторые убогие компиляторы это залажают... - SciFi(24.01.2017 20:24)
- не понял, это как? Nikolay801_(115 знак., 25.01.2017 10:06)
- Как два байта: Молодой коллега(57 знак., 24.01.2017 19:57)
- Цэ99 более лучше, чем Цэ90. Аминь. - SciFi(24.01.2017 20:04)
- Угу. Придется кажись смириться с C99. - LightElf(24.01.2017 20:09)
- Не компилируется так - LightElf(24.01.2017 19:59)
- И не должно. Ибо откуда комптлятору о типах каждого из полей знать. О вывравниваниях и упаковках битовых полей, вообще молчу. Скрипач(65 знак., 24.01.2017 20:01 - 20:43)
- Ему ж в скобках тип написан. - fk0(25.01.2017 00:17)
- Гм, тип структуры объявлен. Параметры функции описаны. Почему нет? - Lightelf(24.01.2017 20:58)
- Вопрос. Скрипач(543 знак., 24.01.2017 21:16 - 21:20)
- Функция описана как принимающая параметр типа str_t, представляющий из себя структуру с двумя полями типа int. Указатель на константную строку не является значением типа int. Явного приведения типа тоже нет. Значит обшибка имеет место. Lightelf(68 знак., 24.01.2017 21:34)
- (str_t) - явное приведение типа. А вы говорите что его нет :) - Скрипач(24.01.2017 22:01)
- В выражении (type){1,2,3...} это не приведение типа. Это compound literal, когда конструируется тип type и инициализируется тем, что в фигурных скобках. - fk0(25.01.2017 00:18)
- Я написал как должно выглядеть явное приведение типа const char* к int. - Lightelf(24.01.2017 22:11)
- Его нет. А ты думаешь, что он есть, потому что ты не в теме. - SciFi(24.01.2017 22:03, ссылка)
- (str_t) - явное приведение типа. А вы говорите что его нет :) - Скрипач(24.01.2017 22:01)
- Скрипач, ты не в теме. Не надо писАть глупости. - SciFi(24.01.2017 21:22)
- Объясни чем один 2 отличается от "Диджей". - Скрипач(24.01.2017 21:24)
- Сейчас лень. Почитай "compound literals". - SciFi(24.01.2017 21:28)
- Почитал. Осознал. Спасибо :) - Скрипач(24.01.2017 22:05 - 22:12)
- Сейчас лень. Почитай "compound literals". - SciFi(24.01.2017 21:28)
- Объясни чем один 2 отличается от "Диджей". - Скрипач(24.01.2017 21:24)
- Функция описана как принимающая параметр типа str_t, представляющий из себя структуру с двумя полями типа int. Указатель на константную строку не является значением типа int. Явного приведения типа тоже нет. Значит обшибка имеет место. Lightelf(68 знак., 24.01.2017 21:34)
- Вопрос. Скрипач(543 знак., 24.01.2017 21:16 - 21:20)
- Чем компилите? - Молодой коллега(24.01.2017 20:04)
- Ага. Вижу что IAR сожрал, в отличие от Watcom. Забавно. - LightElf(24.01.2017 20:07)
- Watcom из суровых 90-х? Выбрось антиквариат, сегодня 2017 год вообще-то. - fk0(25.01.2017 00:17)
- Не, он из 2000-ых, даже какие-то зачатки це99 умеет. Но не все. - Lightelf(25.01.2017 00:42)
- Гы, вот враги взорвут наш тырнет, будем и биты из 80-х с пола подметать :-) - SciFi(25.01.2017 00:21)
- Здесь наши полномочия все... - Молодой коллега(24.01.2017 20:15)
- Watcom из суровых 90-х? Выбрось антиквариат, сегодня 2017 год вообще-то. - fk0(25.01.2017 00:17)
- Ага. Вижу что IAR сожрал, в отличие от Watcom. Забавно. - LightElf(24.01.2017 20:07)
- И не должно. Ибо откуда комптлятору о типах каждого из полей знать. О вывравниваниях и упаковках битовых полей, вообще молчу. Скрипач(65 знак., 24.01.2017 20:01 - 20:43)
- Цэ99 более лучше, чем Цэ90. Аминь. - SciFi(24.01.2017 20:04)
- Чем плох такой вариант? Проверял на IAR, оптимизирует полностью. vmp(3270 знак., 25.01.2017 23:36)