Я использую MPLAB X IDE с Hi-Tech C Compiler на PIC-контроллере. Поэтому очень важно немного «байт-ориентированный». Поэтому я стараюсь:
volatile struct unsigned bit white:1;
unsigned bit red:1;
unsigned bit blue:1;
unsigned bit green:1;
unsigned bit violett:1;//Magenta
unsigned bit yellow:1;
>ColorPick;
Теперь я не уверен, правильно ли он объявлен и что происходит, когда я бросаю бит-сдвиг по этому поводу. В моем результате это должно быть только бит бит (1) и все остальные низкие (0). Итак, «белый бит 0b00000001 или 0b10000000?» И когда я сменю его 6 раз, я получу желтый цвет, а после этого снова белый. Могу ли я сделать это с помощью идентичного вызова ColorPick
спросил(а) 2013-03-11T19:09:00+04:00 10 лет, 2 месяца назад
добавить комментарий
пожаловаться
Из руководства пользователя Hi-Tech C, стр. 346:
A.9.4 Порядок распределения битовых полей внутри int (6.5.2.1) Первое битовое поле, определенное в структуре, выделяет наименее значимую позицию бита в блоке хранения. Последующие битовые поля выделяются битами более высокого порядка.
MPLAB IDE and HI TECH C compiler installation
Основываясь на документации, я не думаю, что bit является ключевым словом в вашем компиляторе. По моему опыту, битполы зависят от компилятора. То, как я определяю выравнивание бит, — написать небольшую программу командной строки, которая делает что-то вроде этого:
union test_u struct test_s unsigned long bwhite : 1;
unsigned long bred : 1;
unsigned long bblue : 1;
unsigned long bgreen : 1;
unsigned long bviolet : 1;
unsigned long byellow : 1;
unsigned long bpink : 1;
> bits;
unsigned long unlong;
> bitest;
bitest.unlong = 0;
bitest.bred = 1;
printf(«0x%8.8Xn», bitest.unlong);
Затем подставляйте значения по мере необходимости, чтобы увидеть, где их компилятор придерживается. Если вам нужно общаться с другими компьютерами/компиляторами, вам, вероятно, будет лучше использовать маски и сменить себя.
Источник: progi.pro
Что такое компилятор HI-TECH C?
Компилятор HI-TECH C для микроконтроллеров PIC10 / 12/16 — PRO полностью реализует оптимизацию Omniscient Code Generation ™ — технологии компиляции всей программы — для обеспечения более плотного кода и лучшей производительности микроконтроллеров PIC.
Что такое HI-TECH C?
ПРИВЕТ-TECH C компилятор. ПРИВЕТ-ТЕХ Software — поставщик средств разработки для встраиваемых систем мирового класса, предлагающий компиляторы с Omniscient Code Generation ™, технологию компиляции всей программы и IDE на основе Eclipse (ПРИВЕТ-TIDE ™) для 8-, 16- и 32-разрядных архитектур микроконтроллеров и микросхем DSC.
Могу ли я удалить компилятор HI-TECH C?
Да чувствую бесплатно чтобы удалить эти два, это не файлы или приложения Windows. Щелкните правой кнопкой мыши программы и функции и выберите «Удалить».
Что такое компилятор HI-TECH C для микроконтроллеров PIC10 12/16?
SW500010 — это компилятор C Pro HI-TECH для микроконтроллеров PIC10 / 12/16, который полностью реализует оптимизацию Omniscient Code Generation, чтобы обеспечить более плотный код и лучшую производительность для разработки на микроконтроллерах PIC10 / 12/16. Этот компилятор ANSI C интегрируется в среду разработки MPLAB (R) и совместим со всеми отладчиками и эмуляторами.
Что такое HI-TECH PICC Lite?
MPLAB Integrated Development Environment (IDE) — это комплексный редактор, менеджер проектов и рабочий стол для разработки приложений для встроенных проектов с использованием микроконтроллеров Microchip PICmicro и dsPIC. . Компилятор HI-TECH PICC-Lite версии 9.60PL1 поставляется вместе с установщиком MPLAB V8. 10.
Какая польза от высокотехнологичного компилятора C?
Компилятор HI-TECH C для микроконтроллеров PIC10 / 12/16 — PRO полностью реализует оптимизацию Omniscient Code Generation ™ — технология компиляции всей программы — для обеспечения более плотного кода и лучшей производительности микроконтроллеров PIC.
Могу ли я удалить компилятор HI-TECH C для микроконтроллеров PIC10 12/16?
подтвердите удаление, нажав кнопку «Удалить». Расширенный деинсталлятор PRO удалит компилятор HI-TECH C для микроконтроллеров PIC10 / 12/16 V9.
Источник: borismarkin.ru
Компилятор «LCC» (ТВГИ.00500-01)
Фирменный оптимизирующий компилятор языков C, C++, Fortran.
Цена по прайс-листу
Информация
Характеристики
Фирменный компилятор компании АО «МЦСТ» — разработчика архитектуры Эльбрус. Поддерживает языки программирования C, C++, Fortran. Во многом совместим с компилятором GCC (GNU Compiler Collection) — как по параметрам запуска, так и по GNU-расширениям языков. Обладает развитыми средствами оптимизации генерируемого машинного кода, позволяющими выбирать между быстродействием программы и её размером, а также длительностью компиляции.
Выпускается для компьютеров архитектуры Эльбрус и SPARC (МЦСТ-R). Поставляется в составе Системы программирования «Эльбрус» — штатно вместе с операционной системой либо или отдельно, по договору поставки. Поддерживает операционные системы семейства Linux и QNX; описание варианта для QNX «Нейтрино» в ТВГИ.00935-01.
Кросс-компилятор — это вариант компилятора, функционирующий на компьютерах архитектуры x86-64 и при этом выдающий машинный код архитектуры Эльбрус или SPARC. Получить кросс-компилятор можно по запросу в службу поддержки при наличии лицензии на право использования обычного компилятора (системы программирования) — для этого необходимо сообщить модель компьютера (процессора), наименование и номер версии целевой операционной системы. Вместе с кросс-компилятором для удобства может быть предоставлен архив файлов предустановленной системы «Эльбрус Линукс», если она является целевой системой для сборки программ.
Год выпуска | 2020 | 2019 | 2018 | 2016 | 2014 | |
Поддержка C | GCC≈ | 7.3 | 7.3 | 5.5 | 4.8 | 4.4 |
C11 | + | +¹ | +¹ | +¹ | − | |
C99 | + | + | + | + | + | |
C90 | + | + | + | + | + | |
Поддержка C++ | GCC≈ | 7.3 | 7.3 | 5.5 | 4.8 | 4.4 |
C++20 | ± | − | − | − | − | |
C++17 | ± | ± | − | − | − | |
C++14 | + | + | + | ±² | − | |
C++11 | + | + | + | ±² | − | |
C++03 | + | + | + | + | + | |
C++98 | + | + | + | + | + | |
Поддержка Fortran | GCC≈ | 5.5 | 5.5 | 4.9 | 4.9 | 4.4 |
F18 | ± | ± | − | − | − | |
F08 | ± | ± | ± | ± | − | |
F03 | ± | ± | ± | ± | − | |
F95 | + | + | + | + | + |
Знак „+“ означает, что стандарт поддержан полностью, „±“ означает поддержку в экспериментальном режиме и/или неполностью — см. сноски и документацию, „−“ означает отсутствие поддержки данного языкового стандарта в данной версии компилятора.
В графе „-std=” указан режим поддержки языкового стандарта по умолчанию. Другие режимы можно задать параметром „-std=” согласно приведённому перечню полностью или частично (экспериментально) поддерживаемых, в том числе с расширениями GNU.
¹ Стандарт C11 (ISO/IEC 9899:2011) в версиях LCC 1.21–1.24 был поддержан полностью за исключением необязательного расширения _Atomic .
² Стандарты C++11 (ISO/IEC 14882:2011) и C++14 (ISO/IEC 14882:2014) в версии LCC 1.21 были поддержаны полностью в языковой части, однако в библиотечной части отсутствовала поддержка классов std::exception_ptr и std::nested_exception — это было обусловлено отсутствием поддержки zero cost exceptions (0eh) со стороны компилятора на тот момент.
Источник: www.mcst.ru