30.07.2012, 16:08
|
#731
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,268 раз(а) в 1,563 сообщении(ях)
|
Re: Уроки СИ для AVR микроконроллеров
papa_n, Уважаемый , вместо вставания в позу обиженного,
потрудитесь хоть немножко продвинутся самостоятельно .
Изучите азы С . И вы увидите как вы не правы .
Литературу подкинуть ???
__________________
Осторожно , злой кот
|
|
|
|
30.07.2012, 16:23
|
#732
|
Заблокирован
Регистрация: 08.08.2007
Сообщений: 2,843
Сказал спасибо: 378
Сказали Спасибо 1,368 раз(а) в 746 сообщении(ях)
|
Re: Уроки СИ для AVR микроконроллеров
Сообщение от papa_n
|
Уважаемые!
Вот читаю и думаю... "Нет предела ЭГОИЗМУ"
Не хочу никого обидеть, но все же именно так!
В любом случае это форум, тут были и будут новички.
И вместо того что бы их натолкнуть на мысль, Вы показываете свое превосходство.
Я понимаю что я не "спец", но кое в чем разбираюсь. В МК, скажу честно, не особо. Но это не повод писать петиции и показывать свою "начитаность".
...
Спасибо за понимание!
Александр.
|
Оборзели совсем! Других слов не нахожу. По первой строке уже было подумал, что человеку стыдно стало за свой эгоизм и откровенное иждивенчество. Но прочитав далее, просто оторопел от беспардонной наглости. Решил отчитывать тех, кто не желает пахать на тебя в своё личное и свободное время? Давай, давай... Но сначала, начни с себя - попаши на себя, в своё же время, свободное. Ни малейшего желания работать на себя, но откровенное хамство и иждевенчество в сторону тех, кто решил помочь.
Вам, "начитанность" никто не показывает, Вам подсказывают, с чего начать. У Вас же нет ни одного вопроса по программированию, только одни высказывания - "я хочу", "мне надо", "пошевеливайтесь, лежебоки"...
А если, в МК не разбираетесь, то и нечего в них лезть! А если имеется желание разобраться, то за Вас "разбираться" никто не будет.
Кроме знания аппаратной части МК, требуется ещё и знание языка программирования. Требуются упорные тренировки в программировании, разработки алгоритмов, поиски красивых решений. Нет и не будет в этом вопросе входа "по блату".
А, если Вы решите играть на скрипке, как, например, Паганини? Так же будете хлестать музыкантов, которые вдруг отзовутся к Вам сочувствием? - "А, ну, пошевеливайтесь бездельники и лежебоки. Быстрее покажите, как этой деревяшкой по этим проволочкам дёргать. Да не забивайте мне мозги Вашим высокомерием, нафиг мне нужна Ваша нотная грамота и пр. Нефиг свой эгоизм демострировать, бездельники..."
Вы, ведь, с подобными претензиями и на этот форум пришли...
|
|
|
|
30.07.2012, 16:59
|
#733
|
Почётный гражданин KAZUS.RU
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
|
Re: Уроки СИ для AVR микроконроллеров
Сообщение от papa_n
|
Вот читаю и думаю... "Нет предела ЭГОИЗМУ"
|
Извините за прямоту, но - эгоистично как раз ваше желание, не пошевелив и пальцем, получить готовые решения. Заинтересуйте участников форума отвечать вам - продемонстрируйте свой труд, и тогда вам с радостью помогут, а выполнять вашу работу вместо вас - с какой стати-то? И своей предостаточно.
Сообщение от papa_n
|
В любом случае это форум, тут были и будут новички.
|
Новичкам, которые трудятся, читают, пробуют и просят помочь понять/исправить свои ошибки на этом пути - помогали, помогают и будут помогать. Новичкам, не удосужившимся даже прочесть учебник, но желающим получить чужое работающее решение, помочь невозможно в принципе - они же ничего не делают, как им помочь? Сделать всё за них? Так это и не помощь вовсе.
Сообщение от papa_n
|
И вместо того что бы их натолкнуть на мысль, Вы показываете свое превосходство.
|
Вы ошибаетесь, полагая, что может быть интересно сравнивать свой уровень знаний с уровнем задающих здесь вопросы. Вы еще более ошибаетесь, если думаете, что такое сравнение может служить основанием для удовлетворенности своими знаниями. Всё сказанное мною выше - это призыв к вопрошающим потратить и своё время тоже, а не перекладывать решение своих задач на головы других людей.
Сообщение от papa_n
|
Если не хотите помогать, то зачем вообще писать?
|
Хотим, хотим - потому и призываем вас участвовать в процессе - читать, пытаться, вникать в суть репортов компилятора. Не хотели бы помогать - даже тему эту не открывали бы. Но, к примеру, в таком случае, как Ваш, помощь (именно помощь, а не подмена Вашего труда своим) не может быть оказана прежде, чем Вы изучите хотя бы основы - Вы же даже терминов тех не знаете, которые будут звучать в пояснениях, так как же тут можно пояснять?! Вам же пытались пояснять, но Вы же не понимаете пока! Вы типы данных от квалификаторов ещё не отличаете - ну, как тут можно помочь?!
Вам, papa_n, повторю - двигайтесь вперёд, работайте над решением и тогда Вам помогут. Не будете вкладываться сами - никого своим положением не заинтересуете.
И, пожалуйста, не усматривайте чего-либо обидного в совете прочесть Кернигана/Ричи ( обязательно!) - это лучшее, что Вы можете предпринять сейчас. Времени это у Вас отнимет не много, а продвинет вперёд - на несколько месяцев ( минимум!) расспросов "наугад". Так что, это даже сэкономит Вам время.
__________________
There's always more than one way to skin a cat.
|
|
|
Сказали "Спасибо" tempora
|
|
|
30.07.2012, 17:58
|
#734
|
Почётный гражданин KAZUS.RU
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
|
Re: Уроки СИ для AVR микроконроллеров
Сообщение от ut1wpr
|
Давно со стрингами не работал.
Код:
|
#include "string.h"
//
char str1[][48] = {"string1","string2"};
char* str2 = "s3";
char* str3;
//
strcat(str1[1],str2);
str3 = str1[1];
// |
|
С учетом того, что в этой ветке основные читатели - начинающие, этот ответ может для них и не заработать. :о(
Если позволите, я бы его немного подправил:
Код:
|
char str1[][48] = {"string1","string2"}; |
Тут объявлен массив типа char, размером 2*48=96 байт, из которых полезно заняты - только 2*8=16 байт, а 80 оставшихся байт просто забиты нулями и нигде не используются.
Если объявить вот так:
Код:
|
char *astr1[] = {"string1","string2"}; |
то получаются объявленными два строковых литерала и один массив указателей, размерностью 2, проинициализированный ссылками на литералы. Так будет сэкономлено 80 - 2*sizeof(char*) байт. Но это лишь неоптимальность, а вот то, что написано дальше, может стать (в зависимости от содержания остального текста программы) источником ошибки:
Код:
|
strcat(str1[1],str2);
str3 = str1[1]; |
Что произойдет, если длина строки str2 окажется равной не трем, а, например, 43 символам? Правильно, строка эта выйдет за пределы памяти, выделенной под массив. Столкнувшись с этим, начинающий перепишет этот участок, например так:
Код:
|
strcpy(str3,str1[1]);
strcat(str3,str2); |
Тут возникнет другая ошибка - указатель str3 ничем не инициализирован, и копируемые данные могут испортить другие данные, что приведет к трудноуловимым ошибкам в работе программы (про warning'и пока не говорю - не в них суть).
Впрочем, мы наверное зря стараемся - автор вопроса как-то "не идёт к горе", увы.
__________________
There's always more than one way to skin a cat.
|
|
|
Эти 3 пользователя(ей) сказали Спасибо tempora за это сообщение:
|
|
|
30.07.2012, 18:36
|
#735
|
Почётный гражданин KAZUS.RU
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
|
Re: Уроки СИ для AVR микроконроллеров
Сообщение от tempora
|
Впрочем, мы наверное зря стараемся - автор вопроса как-то "не идёт к горе", увы.
|
Единственная цель, которую я преследовал - не написать ОПТИМАЛЬНЫЙ код, а показать, как ПОНЯТЬ работу с многомерными массивами строк и как ПРИМЕНИТЬ функцию конкатенции. Именно в том написании, как я предложил. Понятие оптимизации должно прийти чуток позже, сначала общее понимание. Переход от простого многомерного массива к массиву указателей мог бы показаться сложноватым вопрошавшему. Но после последних постов я вижу, что нет, не будет он для него сложным. Он до этого перехода скорее всего не доберется.
__________________
С уважением,
Vic / ut1wpr
|
|
|
|
30.07.2012, 18:46
|
#736
|
Почётный гражданин KAZUS.RU
Регистрация: 10.01.2007
Сообщений: 3,412
Сказал спасибо: 65
Сказали Спасибо 664 раз(а) в 443 сообщении(ях)
|
Re: Уроки СИ для AVR микроконроллеров
Сообщение от ut1wpr
|
Единственная цель, которую я преследовал - ... показать, как ПОНЯТЬ работу с многомерными массивами строк и как ПРИМЕНИТЬ функцию конкатенации.
|
Да, пожалуй, я поторопился.
__________________
There's always more than one way to skin a cat.
|
|
|
|
30.07.2012, 19:09
|
#737
|
Заблокирован
Регистрация: 31.12.2011
Сообщений: 726
Сказал спасибо: 32
Сказали Спасибо 223 раз(а) в 162 сообщении(ях)
|
Re: Уроки СИ для AVR микроконроллеров
Гы...
Был бы я начинающим... я бы понял, что оно никак работать не будет...
|
|
|
|
30.07.2012, 19:10
|
#738
|
Гуру портала
Регистрация: 20.11.2004
Сообщений: 10,015
Сказал спасибо: 936
Сказали Спасибо 2,268 раз(а) в 1,563 сообщении(ях)
|
Re: Уроки СИ для AVR микроконроллеров
st__1, подсознанием ?
__________________
Осторожно , злой кот
|
|
|
|
30.07.2012, 19:19
|
#739
|
Заблокирован
Регистрация: 31.12.2011
Сообщений: 726
Сказал спасибо: 32
Сказали Спасибо 223 раз(а) в 162 сообщении(ях)
|
Re: Уроки СИ для AVR микроконроллеров
Ты прав... откуда у начинающего подсознание... ловил бы неуловимое...
P.S: Если честно... здесь все последние примеры с "плюшками"...
Последний раз редактировалось st__1; 30.07.2012 в 19:22.
|
|
|
|
30.07.2012, 19:32
|
#740
|
Почётный гражданин KAZUS.RU
Регистрация: 19.08.2006
Адрес: Львов
Сообщений: 1,616
Сказал спасибо: 65
Сказали Спасибо 315 раз(а) в 264 сообщении(ях)
|
Re: Уроки СИ для AVR микроконроллеров
__________________
С уважением,
Vic / ut1wpr
|
|
|
|
Ваши права в разделе
|
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения
HTML код Выкл.
|
|
|
Часовой пояс GMT +4, время: 14:26.
|
|