Форум РадиоКот • Просмотр темы - Вопросы по С/С++ (СИ)
Сообщения без ответов | Активные темы
Страница 245 из 385
[ Сообщений: 7687 ]
... , , , , , , ...
Автор
Сообщение
ARV
Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
Добавлено: Пт янв 13, 2017 13:33:47
Ум, честь и совесть. И скромность.
Карма: 98
Рейтинг сообщений: 2117
Зарегистрирован: Чт дек 28, 2006 08:19:56Сообщений: 18404Откуда: Новочеркасск
Рейтинг сообщения: 1
Медали: 2
принципиальным было предложение заменить длиннющий и не модифицируемый оператор ИЛИ на аналитическое выражение, которое определит длину формируемой строки, все прочие идеи уже носят характер оформительский. но я хотел еще обратить внимание на то, что лучше всего уйти от "магических чисел", сделав код по-настоящему универсальным, что и попытался показать в своём примере.
_________________если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...Мой уютный бложик ... заходите!
Вернуться наверх
Реклама
просто КОТ
Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
Добавлено: Пт янв 13, 2017 13:42:07
Друг Кота
Карма: 107
Рейтинг сообщений: 1031
Зарегистрирован: Пт дек 17, 2010 15:07:50Сообщений: 12364Откуда: Крымский Федеральный Округ
Рейтинг сообщения: 0
Код:
for(int i=0;i<sizeof(table);i++) int r=!(i%32) ? fprintf(p_file,"0x%02X, ",table[i],"\n"):fprintf(p_file,"0x%02X, ",table[i]);
Можно попробовать в одну строчку, кстати...
_________________И ты врёшь!!! © Vladisman
Вернуться наверх
Реклама
ARV
Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
Добавлено: Пт янв 13, 2017 15:36:48
Ум, честь и совесть. И скромность.
Карма: 98
Рейтинг сообщений: 2117
Зарегистрирован: Чт дек 28, 2006 08:19:56Сообщений: 18404Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
просто КОТ писал(а):
Можно попробовать в одну строчку
тогда уж так
Код:
for(int i=-1; ++i<sizeof(table); fprintf(p_file,"0x%02X,%с",table[i], i%NUM_COUNT ? ' ' : '\n'));
еще чуть-чуть, и будет, как у меня в подписи
_________________если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...Мой уютный бложик ... заходите!
Вернуться наверх
FreshMan
Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
Добавлено: Пт янв 13, 2017 18:18:38
Друг Кота
Карма: 27
Рейтинг сообщений: 33
Зарегистрирован: Пн ноя 22, 2010 00:57:15Сообщений: 6296Откуда: Ukraine
Рейтинг сообщения: 0
ARV писал(а):
FreshMan писал(а):
как можна сократить данный код ?
Код:
#define NUM_COUNT 32 int i = 0; while(i < sizeof(sin_table)){ fprintf( p_file, "0x%02X, ", sin_table[i] ); if(!(i % NUM_COUNT)) fprintf(p_file, "\n"); i++; }
при i=0 происходит перевод строки
_________________Tell Me The Truth
Вернуться наверх
просто КОТ
Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
Добавлено: Пт янв 13, 2017 19:30:19
Друг Кота
Карма: 107
Рейтинг сообщений: 1031
Зарегистрирован: Пт дек 17, 2010 15:07:50Сообщений: 12364Откуда: Крымский Федеральный Округ
Рейтинг сообщения: 0
Ну... тут проще нулевую выборку скормить в файл вручную. А потом вписать наш шедевр, начиная с первого:
Код:
for(int i=0; ++i<sizeof(table); fprintf(p_file,"0x%02X,%c", table[i], i%NUM_COUNT ? ' ' : '\n'));
_________________И ты врёшь!!! © Vladisman
Вернуться наверх
Реклама
ARV
Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
Добавлено: Пт янв 13, 2017 20:45:30
Ум, честь и совесть. И скромность.
Карма: 98
Рейтинг сообщений: 2117
Зарегистрирован: Чт дек 28, 2006 08:19:56Сообщений: 18404Откуда: Новочеркасск
Рейтинг сообщения: 1
Медали: 2
я бы не сильно гнался за краткостью - всё хорошо в меру.
_________________если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...Мой уютный бложик ... заходите!
Вернуться наверх
Реклама
просто КОТ
Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
Добавлено: Сб янв 14, 2017 00:44:52
Друг Кота
Карма: 107
Рейтинг сообщений: 1031
Зарегистрирован: Пт дек 17, 2010 15:07:50Сообщений: 12364Откуда: Крымский Федеральный Округ
Рейтинг сообщения: 0
Вернуться наверх
ARV
Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
Добавлено: Сб янв 14, 2017 09:23:14
Ум, честь и совесть. И скромность.
Карма: 98
Рейтинг сообщений: 2117
Зарегистрирован: Чт дек 28, 2006 08:19:56Сообщений: 18404Откуда: Новочеркасск
Рейтинг сообщения: 0
Медали: 2
меня тут упрекают за нравоучения... но что делать, если моё мнение как-то идет вразрез с мнением других, а высказаться хочется? уж простите... я тут прочитал, что есть "спортивное программирование", есть конкурсы на самый "красивый" код (там форматируют текст в виде всяких картинок), на самый короткий, на самый странный (см. мою подпись)... но какое отношение всё это имеет к нормальной жизни? да, как особый вид искусства - согласен, имеет право на существование. но при постоянном применении это уже смахивает на какое-то отклонение... я стараюсь не злоупотреблять этим.
_________________если рассматривать человека снизу, покажется, что мозг у него глубоко в жопе при взгляде на многих сверху ничего не меняется...Мой уютный бложик ... заходите!
Вернуться наверх
FreshMan
Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
Добавлено: Вт янв 24, 2017 14:45:19
Друг Кота
Карма: 27
Рейтинг сообщений: 33
Зарегистрирован: Пн ноя 22, 2010 00:57:15Сообщений: 6296Откуда: Ukraine
Рейтинг сообщения: 0
интересует мнение опытных писателей кода относительно #pragma once давно интересовался вопросом повторного включения модуля в многомодульном проэкте тоесть в главном модуле main усть #include <avr/io.h> но он также нужен и в lcd.h и в ds18b20.h что можете посоветовать ?
_________________Tell Me The Truth
Вернуться наверх
Реклама
WiseLord
Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
Добавлено: Вт янв 24, 2017 14:51:43
Друг Кота
Карма: 86
Рейтинг сообщений: 1035
Зарегистрирован: Чт апр 11, 2013 11:19:59Сообщений: 4885Откуда: Минск
Рейтинг сообщения: 0
- Не использовать #pragma once
- Просто включать <avr/io.h> в каждом файле
- В своих многократно включаемых хидерах (myfile.h) оборачивать их содержимое в "скобки" препроцессора
Код:
#ifndef MYFILE_H #define MYFILE_H // содержимое myfile.h #enfid
https://ru.wikipedia.org/wiki/Include_guard
Вернуться наверх
Zhuk72
Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
Добавлено: Вт янв 24, 2017 14:59:27
Сверлит текстолит когтями
Карма: 25
Рейтинг сообщений: 168
Зарегистрирован: Ср янв 29, 2014 08:41:31Сообщений: 1231Откуда: Баку
Рейтинг сообщения: 0
WiseLord писал(а):
- В своих многократно включаемых хидерах (myfile.h) оборачивать их содержимое в "скобки" препроцессора
Код:
#ifndef MYFILE_H #define MYFILE_H // содержимое myfile.h #enfid
Почему-то в Keil'е это не работает, так же, как и рекомендуемая там форма записи:
Код:
#ifndef FILENAME_INCLUDED #define FILENAME_INCLUDED /* Header File Contents */ #endif
Либо я (что более вероятно) делаю это не так, как нужно.
_________________ Каждый имеет право на свое личное ошибочное мнение. У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
Вернуться наверх
A. Fig Lee
Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
Добавлено: Вт янв 24, 2017 15:10:00
Потрогал лапой паяльник
Карма: -2
Рейтинг сообщений: 20
Зарегистрирован: Сб мар 17, 2012 20:31:44Сообщений: 306Откуда: Нью Йорк
Рейтинг сообщения: 1
Не может быть, чтоб не работало
Вернуться наверх
Zhuk72
Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
Добавлено: Вт янв 24, 2017 15:17:30
Сверлит текстолит когтями
Карма: 25
Рейтинг сообщений: 168
Зарегистрирован: Ср янв 29, 2014 08:41:31Сообщений: 1231Откуда: Баку
Рейтинг сообщения: 0
Сам понимаю, что не правильно это, но тем не менее в Мплабе нормально, а Кайл ругается.
_________________ Каждый имеет право на свое личное ошибочное мнение. У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
Вернуться наверх
WiseLord
Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
Добавлено: Вт янв 24, 2017 15:20:02
Друг Кота
Карма: 86
Рейтинг сообщений: 1035
Зарегистрирован: Чт апр 11, 2013 11:19:59Сообщений: 4885Откуда: Минск
Рейтинг сообщения: 0
Zhuk72 писал(а):
так же, как и рекомендуемая там форма записи
Собственно, обе записи ничем не отличаются.
Надеюсь, у Вас не во всех файлах именно "FILENAME_INCLUDED". У каждого хидера должно быть своё уникальное имя для макроса. Я обычно предпочитаю для файла типа FileName.h выбирать имя FILENAME_H.
И про keil - точно что-то не так делаете. Потому что та же STDPERIPH библиотека для STM32 точно с такими же макросами реализована.
Вернуться наверх
Siarzhuk
Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
Добавлено: Вт янв 24, 2017 17:12:11
Потрогал лапой паяльник
Карма: 20
Рейтинг сообщений: 121
Зарегистрирован: Вс янв 19, 2014 22:41:55Сообщений: 353
Рейтинг сообщения: 0
Zhuk72 писал(а):
Должно быть #endif
Опечатка?
_________________ Одновременным нажатием LIGHT и POWER, РП Sangean ATS-909X (ver 1.29) превращается в ATS-909XR !
Вернуться наверх
WiseLord
Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
Добавлено: Вт янв 24, 2017 17:47:56
Друг Кота
Карма: 86
Рейтинг сообщений: 1035
Зарегистрирован: Чт апр 11, 2013 11:19:59Сообщений: 4885Откуда: Минск
Рейтинг сообщения: 0
Вернуться наверх
Zhuk72
Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
Добавлено: Вт янв 24, 2017 17:54:16
Сверлит текстолит когтями
Карма: 25
Рейтинг сообщений: 168
Зарегистрирован: Ср янв 29, 2014 08:41:31Сообщений: 1231Откуда: Баку
Рейтинг сообщения: 0
WiseLord писал(а):
Надеюсь, у Вас не во всех файлах именно "FILENAME_INCLUDED".
Разумеется. FILENAME заменяется, скажем, на INIT_H, MENU_H и т.д.
_________________ Каждый имеет право на свое личное ошибочное мнение. У меня было тяжелое детство - я до 14 лет смотрел черно-белый телевизор.
Вернуться наверх
FreshMan
Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
Добавлено: Вт янв 24, 2017 18:04:21
Друг Кота
Карма: 27
Рейтинг сообщений: 33
Зарегистрирован: Пн ноя 22, 2010 00:57:15Сообщений: 6296Откуда: Ukraine
Рейтинг сообщения: 0
WiseLord писал(а):
- Просто включать <avr/io.h> в каждом файле
а на размере кода сие не сказывается ?
_________________Tell Me The Truth
Вернуться наверх
WiseLord
Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
Добавлено: Вт янв 24, 2017 18:39:45
Друг Кота
Карма: 86
Рейтинг сообщений: 1035
Зарегистрирован: Чт апр 11, 2013 11:19:59Сообщений: 4885Откуда: Минск
Рейтинг сообщения: 0
Вернуться наверх
FreshMan
Заголовок сообщения: Re: Вопросы по С/С++ (СИ)
Добавлено: Чт янв 26, 2017 14:32:56
Друг Кота
Карма: 27
Рейтинг сообщений: 33
Зарегистрирован: Пн ноя 22, 2010 00:57:15Сообщений: 6296Откуда: Ukraine
Рейтинг сообщения: 0
есть некая структура
Код:
typedef struct{ char chunkId[4]; char format[4]; char subchunk1Id[4]; unsigned short audioFormat; unsigned short numChannels; unsigned long sampleRate; unsigned long byteRate; unsigned short blockAlign; unsigned short bitsPerSample; char subchunk2Id[4]; unsigned long subchunk2Size; }HEADER; HEADER wav_header;
как обратится, считать данные, к примеру, с 0 или 5 или 30 байта данной структуры ?
_________________Tell Me The Truth
Вернуться наверх
Страница 245 из 385
[ Сообщений: 7687 ]
... , , , , , , ...
Кто сейчас на форуме
Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 13
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения