VCucumber 0 15 декабря, 2008 Опубликовано 15 декабря, 2008 · Жалоба Так же, через asm (asm volatile). Пример, да ? Там точно нет какой нибудь галочки, "включить оптимизацию"? Не вижу. Все включено(с) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
733259 0 16 декабря, 2008 Опубликовано 16 декабря, 2008 · Жалоба Пример, да ?Да пожалуйста! Преварительно скажу, что писать "lsl" в си вообще нет необходимости, это соответствует "Test_byte <<= 1;", так же нет необходимости писать и "lds", "sts" и явно указывать "r16" - загрузку, сохранение, распределение регистров компилятор осуществляет самостоятельно. Т.е. asm("lsl %0":"+r"(Test_byte)); Test_byte <<= 1; , где Test_byte - глобальная переменная, компилятор преобразует в asm("lsl %0":"+r"(Test_byte)); 6fc: 80 91 60 00 lds r24, 0x0060 700: 88 0f add r24, r24 Test_byte <<= 1; 702: 88 0f add r24, r24 704: 80 93 60 00 sts 0x0060, r24 Напомню, что "lsl" - синоним "add rX, rX", в случае регистровой переменной "lds", "sts" просто не будет. Если у Вас есть еще неясности по поводу AVR-ассемблера в gcc - рекомендую GCC-AVR Inline Assembler Cookbook Не вижу. Все включено(с)Ну что же, значит паскаль реально не пригоден для программирования AVR. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zhevak 0 16 декабря, 2008 Опубликовано 16 декабря, 2008 · Жалоба знаю что не по теме, но душу греет :) :) :) V: Свет озарил во тьме мой длинный хобот, Нет, путь к немерлу был совсем недолог. Бред, считать сишарп пригодным для больших программ. Я делегаты буду долго помнить вам. Мой тяжкий крест — вас всех немерлу обучать. Я вас заставлю мои макросы понять. Слоненок розовый с проклятьем на челе, Я никогда не отступлюсь от немерле. И после смерти вам не обрести покой. И в ад и в рай поскачет с вами образ мой. N: Рай, обещают рай мне замыканья, Дай мне надежду, о мое призванье, Знай: утиных типов не страшна слепая власть, Безумец, прежде я не знал, что значит страсть. Теперь сишарпом словно бесом одержим, Этюды дерзкие мою сгубили жизнь. Жаль, в MS работать был я просто обречен, Теперь вот в рясу от сишарпа облачен. И после смерти, мне не обрести покой: Сперва аппостол пусть решит "этюдик" мой. E: D. Светлых плюсов сон от цифромарса, D. Грешных плюсов стон от цифромарса. И? — Отбился с рук и покатился камнем вниз. Разбились грезы ожиданий D release. SObjectizer, ты не в силах тут помочь. Сплошную бету не дано D превозмочь. Стой! Не покидай меня нативная среда! Рабом дотнета я не стану никогда! И после смерти мне не обрести покой, Я хоть в раю узнаю день релиза твой? V, N и E, хором: И днем и ночью только код передо мной. Нативный, сложный, управляемый, простой... Стой! Не покидай меня безумная мечта! Найти бы пулю из святого серебра... И после смерти, мне не обрести покой. Я душу дъяволу продам за код простой. За код простой... автор kochetkov.vladimir http://www.rsdn.ru/Forum/message/3215532.aspx Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DpInRock 0 16 декабря, 2008 Опубликовано 16 декабря, 2008 (изменено) · Жалоба C детства программирую на паскале. А для PC - только на паскале. И вот пришлось освоить Си. И что интересно. Двоеточие после равно я ставить отучился, а ставить двойное равно - нет. И еще количество круглых скобок в Си напрягает. Просто безумие какое-то. Либо постоянно иметь ввиду очень странное старшинство операций. Либо скобки изо всех сил ставить. if (B==A&3) чисто понятно чего я хочу, а работать не будет. В итоге if (B==(A&3)) ... Уж лучше бегин энд, чем лазить с шифтом наверх клавы постоянно. Кстати, самые ярые сишники в нашей конторе, когда требуется быстро что-то сделать - врубают дельфи без стеснения. И на едкие замечания - не реагируют. Изменено 16 декабря, 2008 пользователем DpInRock Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
733259 0 16 декабря, 2008 Опубликовано 16 декабря, 2008 · Жалоба Двоеточие после равно я ставить отучился, а ставить двойное равно - нет.Если постоянно путаете = и ==, заведите привычку писать не i == 0, а 0 == i - тогда будет ошибка при просто =. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zhevak 0 16 декабря, 2008 Опубликовано 16 декабря, 2008 · Жалоба И что интересно. Двоеточие после равно я ставить отучился, а ставить двойное равно - нет. И еще количество круглых скобок в Си напрягает. Просто безумие какое-то. Либо постоянно иметь ввиду очень странное старшинство операций. Либо скобки изо всех сил ставить. if (B==A&3) чисто понятно чего я хочу, а работать не будет. В итоге if (B==(A&3)) ... Уж лучше бегин энд, чем лазить с шифтом наверх клавы постоянно. :) Детские болезни. Не стоить так беспокоиться, с возрастом обычно они у многих проходят. Не у всех, правда. Не все люди одинаковые. Многие так и остаются в розовом детстве. Взрослейте и будем счастье! Кстати, самые ярые сишники в нашей конторе, когда требуется быстро что-то сделать - врубают дельфи без стеснения. И на едкие замечания - не реагируют. Ага. Это правда. И я видел как один художник рисовывал картину на стене (своего) гаража. А когда приперло быстро подготовить еще одну стену, он тупо взял валик и ведро грунтовки. Не едкие замечания не реагировал. Собака! Скобки -- это гарантия, что все пойдет так, как вы хотите. Понимаю Вас. Сам через это проходил. Операторов много, приоритеты запоминаются сложно. Скобки рулят. И даже когда читаешь листинги с других языков, а там приоритеты операций не обязятельно такие же, как в С. Скобки опять рулят. Маленький совет, когда Вы пишите какое-то сложное выражение, сначала пишите пары скобок, а потом детализируйте -- заполняйте их. Какие проблемы? А может просто "Вы их не умеете готовить?" (С) Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zltigo 1 16 декабря, 2008 Опубликовано 16 декабря, 2008 · Жалоба И что интересно. Двоеточие после равно я ставить отучился, а ставить двойное равно - нет. Ну и только честно, нафига было в Паскале делать =: для присвоения :(, как наиболее частой и к тому же естественной "привычной с детства" арифметической операции а зато односимвольную и более редкую = валить в одну кучу со всякими <>. Ответ такой-же, как и данный ниже - для рекламных целей - за 15 обзорки рисовалась на доске некая хрень в которой НИЧЕГО не вычислялось, зато псевдоанглийский if else then end пару названий переменных цифр и if A = B присутствовали, ибо рассказывали не как вычислять - калькулятором не удивишь. При таком галопе объяснения разницы между = и =: было лишним :(. И еще количество круглых скобок в Си напрягает. Просто безумие какое-то. Либо постоянно иметь ввиду очень странное старшинство операций. Либо скобки изо всех сил ставить. Большинство массовых приоритетов покрываются "естественными". А кроме того, наличие большого количества мнгоуровневых приоритетов по сравнению с ОТСУТСТВИЕМ может ухуждшить ну разве только чтение лицом их незнающим, но никак не НАПИСАНИЕ - количестово скобок, как привычно, а отнюдь не "изо всех сил ставить". Кстати, самые ярые сишники в нашей конторе, когда требуется быстро что-то сделать - врубают дельфи без стеснения. Абсолютно не верю, при наличии аналогичной мути для изготовления уродцев - Builder, да и MVC вполне бездумно и быстро слепить позволяет.... Уж лучше бегин энд Увы, это хоть и избитый повод для разговоров, но эти два слова полный бред созданный исключительно из-за вешания лапши на уши - смотрите это на английском написано! Какой прелесный "понятный" язык! В общем для 15 минутной лекции перед "домохозяйками" (к коим в 60x относились почти все :( ) очень хороший ход. Для удобства компилятора - явные длинные ключевые слова. Но никак не для удобства реальных людей, ибо всякие скобки во всех применениях служили и служат человечеству ровно для той-же цели - выделения некоего блока. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zhevak 0 16 декабря, 2008 Опубликовано 16 декабря, 2008 (изменено) · Жалоба ... да и VS вполне бездумно и быстро слепить позволяет.... При все уважении, не могу согласится. Как минимум у меня это в VS легко и быстро не получается. Все зависит от "тяжести" создаваемой проги. Не, я конечно тоже могу за полддня слепить что-то типа AVR-килькулятора или за 5 минут "Драствуймир" или за полчаса решение квадратного уравнения с прибамбасами. Но когда дело касается како-то мощной системы (например, како-нибудь навороченный анализатор входных сигналов, получаемых с объекта через USB или TCP/IP), то сначала обдумывается архитектура, обдумываются классы/объекты; кто с кем и как будет взаимодействовать, кто на кого будет влиять; какие будут результаты, куда и как их будем писать; что будет делать прога в тех или иных случаях, что будет видеть юзер, в какие моменты подновлять фэйс проги, сколько потоков и когда создавать и т.д. и т.п. Т.е при всем желании, если ничего этого в голове нет, писать код толку мало -- VS все равно не даст продвинутся дальше интефейса. Зато когда это все в голове устаканится, код пишется легко и быстро. Непринужденно. Помятуя свой прошлый опыт Делфей (и аналогично -- Вижуал-Васика), утверждаю, что в этих средах/языках существует очень большой соблазн начать проект сразу, с горяча. С того, что на форму накидываются компонеты и затем их не задумываясь соединяют. Простые проги так можно создавать. У больших проектов при таком безбашенном подходе после какого-то времени разработки/развития начинают вылезать сначала мелкие нестыковочки, потом больше и больше, и т.д. по экспоненте. Потом начинаешь понимать, что основная масса времени идет не на создание продукта, а борьбу с окучиванием компонет, которых поначалу накидал не думая, соблазнившись RIDical perfomance © Borland. Т.е. что я хочу сказать. Я хочу сказать, если предстоит построить быстро небольшой проектик (само собой -- некоммерческий!), можно взять то, что позволяет быстро сделать тяп-ляп и как-получится, не взирая ни на объемы ехе-шника, ни на скорость исполнения, ни на возможные падения ("Программа совершила недопустимую операцию и будет..."). Но если стоит задача получить на рынке денег за продукт, и не опарофиниться перед клиентом после поставки, то Делфийская Рэпид-технология отдыхает на Канарах. Вот смотрите: общее время создания готового продукта, начаная от возникновения идеи создать продукт, состоит из обдумывания архитектуры решения, из практического создания (написания кода, расстановки компонент на форме) и отладки. Обдумывание архитектуры и отладка занимают на порядок больше времени, чем расстановка компонет на форме и их логическое связывание. Когда знаешь что делать, текст проги набрать не долго. Если уж так надо экономить время то, наверно это делать надо не тех операциях, которые и так не имеют большого веса (времени). Конечно, если "программист" испытывает проблемы при наборе текста программы... , не знает клавиатуру... то, да-а. Тут можно и нужно использовать Рэпид-инструменты. Как правило, такие "программисты" и не создают сложных программ. Пластилиновый софт создается быстро. Но ... пластилин, он и есть пластилин! PS Только что пришло письмо с books.ru. Никогда не задумывался на тему, что "свои" книжки я покупаю так дорого: * Макконнелл "Совершенный код" -- 803 рубля * Руссинович, Соломон "Внутреннее устройство Венды" -- примерно 1000 (мне достался бесплатно, из "Боекомплекта разработчика") * Рихтер "Windows via C/C++" -- 1245 рублей, * Бовет "Ядро Linux" -- 680 рябчиков, ну и т.д. У многих они есть. Не в этом дело. Я сходил по предложенной в письме ссылке. И там мне предлагают тако-ое..., ну тако-ое... =8-0 http://www.books.ru/shop/books/717 Это ж как надо было опустить продукт! Что если еще чуть дешевле, то уже только даром! Дайте две! Изменено 16 декабря, 2008 пользователем zhevak Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
ukpyr 0 16 декабря, 2008 Опубликовано 16 декабря, 2008 · Жалоба что на форму накидываются компонеты и затем их не задумываясь соединяют.хм, получается что в VS мозги работают, а в Delphi - отключаются ? как раз возможность набросать за полчаса 10 вариантов GUI и выбрать подходящий - очень болшой +. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
DogPawlowa 0 16 декабря, 2008 Опубликовано 16 декабря, 2008 · Жалоба Ну и только честно, нафига было в Паскале делать =: для присвоения :(, как наиболее частой и к тому же естественной "привычной с детства" арифметической операции а зато односимвольную и более редкую = валить в одну кучу со всякими <>. Ну не знаю, знак присвоения := мне казался абсолютно логичным (кстати, именно так, а не =: ) Более того, на этапе ассемлера 8080 этот же знак использовался в блок-схемах алгоритмов. Наверняка из какого-то старинного идет. А != ну явный бред! Я до сих пор чаще использую !( a==B ). И то более логично получается. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zhevak 0 16 декабря, 2008 Опубликовано 16 декабря, 2008 · Жалоба хм, получается что в VS мозги работают, а в Delphi - отключаются ? как раз возможность набросать за полчаса 10 вариантов GUI и выбрать подходящий - очень болшой +. Конечно плюс. А разве это всегда самое главное? На сколько я понимаю, все зависит от назначения программы. Если прога предназначена чисто для работы (для зарабтывания денег), то всякие лишние пикалки-пукалки и фантики-бантики тут только вредят. Окно проги должно быть предельно аскетично, Элементы, к которым осуществляется нечастый и не оперативнгый доступ не должны торчать на ворме. И наоборот, если прога связана со сферой развлечения, то наоборот, излишняя функциональность и навороченность внутренней логики будет отпугивать потенциальных юзеров. И есть еще один аспект. Очень часто приходится видеть, когда функциональность проги и значимость цели, для которой эта прога пишется, не очень, разработчик, если не лентяй, перекладывает все внимание ее интерфейсу. Навешивает розовые бантики, лепит звуки и анимацию. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
_Pasha 0 16 декабря, 2008 Опубликовано 16 декабря, 2008 · Жалоба Потом начинаешь понимать, что основная масса времени идет не на создание продукта, а борьбу с окучиванием компонет Ух, я когда-то еще с Turbo Vision... В общем объект TEditor, для неокрепших умов - куча кода, хз как работает. Что-то более-менее добавить из функционала - невозможно. Проще с нуля переписать самостоятельно. При попытке красивого расширения наталкиваешься на специально заложенные грабельки, для "сдерживания роста юзера" - это не просто числа вместо констант, или какие-то упрощения, шитые белыми нитками - это нерасширяемая и глубоко продуманная концепция. Поэтому или прогер учится создавать свои компоненты, или борется с абстиненцией при недостатке борландячих - существенно расширить их не удастся. Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
Oblivion 0 16 декабря, 2008 Опубликовано 16 декабря, 2008 · Жалоба И есть еще один аспект. Очень часто приходится видеть, когда функциональность проги и значимость цели, для которой эта прога пишется, не очень, разработчик, если не лентяй, перекладывает все внимание ее интерфейсу. Навешивает розовые бантики, лепит звуки и анимацию. Суровые парни вообще не заморачиваются интерфейсом. Все идет через командную строку Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
733259 0 16 декабря, 2008 Опубликовано 16 декабря, 2008 · Жалоба Я до сих пор чаще использую !( a==B ).Ужасно!!! Как же у людей мозги "испорчены" этим паскалем! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться
zhevak 0 16 декабря, 2008 Опубликовано 16 декабря, 2008 · Жалоба Ну не знаю, знак присвоения := мне казался абсолютно логичным (кстати, именно так, а не =: ) Более того, на этапе ассемлера 8080 этот же знак использовался в блок-схемах алгоритмов. Наверняка из какого-то старинного идет. А != ну явный бред! Я до сих пор чаще использую !( a==B ). И то более логично получается. Вы знаете, у меня все тоже самое, но с точностью до наоборот! Прывычка -- очень серьезное дело. Вспомните детство. Лицо Ваше матери казалось Вам красивым и абсолютно правильным. И в тоже время лица чужих теток Вам были неприятны. Просто у Вас была матерью именно эта женщина, а не какая-то другая. Так и с языками, мы привыкли считать правильным только то, на чем удалось добиться наибольших успехов. Я легко выцепляю в "овсянке" кодов комбинации символов !=, ->, ::, { }, null. И меня также цепляют заусенки типа BEGIN-END-FUNCTION-PROCEDURE, :=, NOT, nill. Но это ничего не значит. Кому-то без разницы -- как классифицируется блок кода, а кто-то заостряетсвое внимание и говорит, что это есть очень большая, т.е. _принципиальная_ разница: процедура это или функция. На столько большая, что это надо особо выделять. И выделяют. И ничего, живут. Это не бред. Это -- религия! Цитата Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты Поделиться