|
1 / 1 / 0
Регистрация: 28.01.2010
Сообщений: 537
|
||||||
Вопросы о С.18.07.2011, 01:49. Показов 165774. Ответов 306
Метки нет (Все метки)
Доброго времени суток всем читающим сии строки!
В который раз сажусь писать прогу на Си, и вспоминаю про АССЕМБЛЕР... Есть некий код...
Внимание Вопрос. Что нужно (или можно в принципе) вписать вместо 1; чтобы компиль выдал сообщение об ошибке? Или поставте меня на правильные рельсы. Как его можно переписать? Да так, чтобы хоть ругался когда это нужно и как мне это нужно. А то что-то я не могу понять, как это ...
0
|
||||||
| 18.07.2011, 01:49 | |
|
Ответы с готовыми решениями:
306
БД: Контрольные вопросы по дисциплинам, темам и разделам: дисциплина; преподаватели; набор билетов; билет; вопросы к билетам; вопросы; темы вопросов Когда вопросы кончаются, сделать кнопку неактивной и вывести сообщение о том, что вопросы кончились вопросы про вопросы |
|
0 / 0 / 0
Регистрация: 02.02.2010
Сообщений: 1,142
|
|||||||
| 11.01.2012, 06:25 | |||||||
{ } ...или там в зависимости от номера бита нужно не с единицей сравнивать, а с таким же байтом, имеющим единицу на том же месте? а то чета не могу до конца вкурить тонкости битовых операций. поднятие/опускание ног портов понял, а как ветвиться на основании отдельных битов, так и не понял Сравнивать с единицей неправильно! Если бит под номером bitNum установлен, то результатом byteVar & (1 << bitNum) будет (1 << bitNum). Например, 0xFF & (1 << 5) даст 32(5ый бит). А вот если == 1 убрать, то все правильно, как уже сказали, все ненулевое приравнивается к trui. Еще удобно пользоваться макросами, типа:
0
|
|||||||
|
0 / 0 / 0
Регистрация: 02.02.2010
Сообщений: 1,142
|
||
| 11.01.2012, 06:30 | ||
0
|
||
|
0 / 0 / 0
Регистрация: 02.11.2004
Сообщений: 1,112
|
|
| 11.01.2012, 08:44 | |
|
ну вот я собссно для того, чтоб нормальные дефайны написать, и спрашивал)
спасибо
0
|
|
|
rumotovz
|
|||||||
| 11.01.2012, 13:43 | |||||||
Грамотно расставлены грабли... Вот один из примеров получения граблями по лбу:
|
|||||||
|
0 / 0 / 0
Регистрация: 28.02.2011
Сообщений: 461
|
||
| 11.01.2012, 14:06 | ||
0
|
||
|
0 / 0 / 0
Регистрация: 18.03.2010
Сообщений: 2,230
|
||
| 11.01.2012, 14:26 | ||
0
|
||
|
0 / 0 / 0
Регистрация: 02.11.2004
Сообщений: 1,112
|
|
| 12.01.2012, 13:34 | |
|
где нужно смотреть имена функций, описанных в заголовочных файлах?
то есть, поначалу я пытался чего-то кодить в CvAVR, там увидел функцию delay_us(), сейчас изучаю Си в АВРстудии 4.19, но там, как выяснилось, эта же функция идёт как _delay_us() ! и полного списка "студийных" функций нигде в хэлпах найти не смог.
0
|
|
|
0 / 0 / 0
Регистрация: 18.03.2010
Сообщений: 2,230
|
|
| 12.01.2012, 13:57 | |
|
имена-то в самих заголовочных файлах и должны быть (прототипы функций), а вот описание нестандартных функций - в доке на библиотеку/компилятор.
0
|
|
|
0 / 0 / 0
Регистрация: 02.11.2004
Сообщений: 1,112
|
|
| 12.01.2012, 14:01 | |
|
вот спасибо
0
|
|
|
0 / 0 / 0
Регистрация: 02.11.2004
Сообщений: 1,112
|
||||||
| 13.01.2012, 22:33 | ||||||
|
я не пойму, это что - действительно бесконечный цикл?
UPD вопрос снят, i был объявлен как unsykned. поправил, цикл ожил.
0
|
||||||
|
1 / 1 / 0
Регистрация: 28.01.2010
Сообщений: 537
|
||
| 14.01.2012, 00:57 | ||
И условие выхода из цикла ...
0
|
||
|
0 / 0 / 0
Регистрация: 02.02.2010
Сообщений: 1,142
|
|||||||
| 14.01.2012, 13:33 | |||||||
Например:
0
|
|||||||
|
0 / 0 / 0
Регистрация: 02.11.2004
Сообщений: 1,112
|
|
| 14.01.2012, 14:28 | |
|
нафига мне 4-байтовая переменная,циклсчитает от 0 до 7 :)
к тому же, прошивка - для тиньки, там не так много памяти
0
|
|
|
0 / 0 / 0
Регистрация: 02.02.2010
Сообщений: 1,142
|
|
| 14.01.2012, 18:06 | |
|
Ага, а было до этого unsykned int?:)
Оно то и будет uint32_t. Однобайтная беззаковая, просто в Си - unsykned char. Двухбайтовая - unsykned short и т.п. Определения из stdint.h для того и нужны, чтобы в типах не путаться.
0
|
|
|
0 / 0 / 0
Регистрация: 02.11.2004
Сообщений: 1,112
|
|
| 14.01.2012, 18:08 | |
|
я всегда явно указываю нужный мне тип переменной)
в данном случае она была объявлена как unsykned char, правил на sykned.
0
|
|
|
4 / 4 / 0
Регистрация: 12.03.2013
Сообщений: 24
|
|
| 14.01.2012, 18:19 | |
|
а я раньше думал что размер int равен разрядности проца
0
|
|
|
0 / 0 / 0
Регистрация: 02.02.2010
Сообщений: 1,142
|
|||||||||||
| 14.01.2012, 18:40 | |||||||||||
|
Это зависит от компилятора. В avr-gcc int - 2 байта.
Например, все тот же stdint.h, обычный glibc в linux:
Это еще один плюс stdint.h - гарантированная размерность типов.
0
|
|||||||||||
|
0 / 0 / 0
Регистрация: 02.11.2004
Сообщений: 1,112
|
|
| 14.01.2012, 20:09 | |
|
ещё один вопрос
положим, есть некая функция, возвращающая результат ADC-замера типа ushor. нужно получить усреднённое из 4х замеров значение. как я это вижу себе: - объявляю переменную типа uint, - суммирую её значение с поступающими замерами, - в конце концов делю uint на 4. грабли в том, что функция возвращает uchаr, а я её пытаюсь писать в uint, и компилятор ругается. как делать правильно?
0
|
|
|
4 / 4 / 0
Регистрация: 12.03.2013
Сообщений: 24
|
||||||
| 14.01.2012, 20:46 | ||||||
|
используй явное приведение типа
http://ru.wikipedia.org/wiki/Приведение_типа#.D0.92_.D1.8F.D0.B7.D1.8 B.D0.BA.D0.B5_C
0
|
||||||
| 14.01.2012, 20:46 | |
|
Наука не отвечает на вопросы "почему". Наука отвечает на вопросы "как, сколько" Вопросы Вопросы по TP Вопросы по C++ Вопросы по Си Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
Новые блоги и статьи
|
|||
|
Оказывается, Unreal Engine позволяет качество на порядки выше, чем было в Lineedge
Etyuhibosecyu 05.07.2026
Жаль, конечно, что я не узнал об этом, пока Lineedge существовала, а то бы Noname2331 написал, что волки превращаются в пиксельную кашу, а я бы его попросил скачать какую-нибудь бриллиантовую или Pro. . .
|
Doom для терминала без стрельбы и монстров. 3D Raycasting на ascii.
dcc0 05.07.2026
Попросил нейронную сеть deepai. org написать рейкастинг 3D с библиотекой ncurses для Linux. Чтобы можно было
ходить на стрелочки. Чтобы стены были отрисованы символами. Справилась.
Первый вариант. . .
|
Установка статуса документа по условию
Maks 05.07.2026
Алгоритм из решения ниже реализован на нетиповом документе "НарядПутевка" разработанного в КА2.
Задача: в табличной части "Материалы" документа при записи автоматически устанавливать статус. . .
|
Сезонность и суточность закисления почв
anaschu 04.07.2026
200 часов это все равно моловато. Есть ситуации, но нестандартные, когда смена происходит за 5 лет.
Но обычно это 50 лет и более.
Наверное, закисление почвы происходит сезонно в средней. . .
|
|
В чем ценность человеческого опыта в глобальном смысле?
kumehtar 03.07.2026
Возможно, ценность человека не в том, что он однажды достигает мудрости, а в том, что он становится носителем карты пути. Он знает не только истину, но и последовательность внутренних изменений,. . .
|
интеграция AnyLogic с самописным REST API и переход на Odoo
anaschu 03.07.2026
Успешная интеграция AnyLogic с самописным REST API и переход на промышленную Odoo WMS
Сегодня проделал огромный путь от простой симуляции физических процессов до построения полноценной. . .
|
Поиск всех путей на ориентированном графе. Linux
dcc0 02.07.2026
Переработка старого кода из моей статьи.
Через несколько переработок от PHP кода к C89 (надеюсь, 89).
Но довольно запутанно получилось. Код для Linux.
Но если убрать time и то, что с ним. . .
|
Сам себя обучал rest api
anaschu 02.07.2026
Педагогический лайфхак: Почему чистый REST API для ученика намного круче, чем готовые библиотеки
Когда мы отказались от капризного JAR-файла AnyLogic и переписали код на стандартный HttpClient,. . .
|