Ошибка в вычислениях адресов у GCC ?

  • Replying to a msg in Carbon.Area (Carbon Copies)

Hello Yuriy.

31 Jan 05 22:21, you wrote to me:

LS>> построение версии без участия человека по внешнему событию. YK> Э-э, зачем? Какой смысл строить версию без участия человека?

Прежде всего -- ради юнит-тестов. Во вторую очередь -- что бы быть уверенным, что на независимой среде оно собирает

LS>> В идеале такое посторение должно начинатся с доставания свежих LS>> исходников в только что созданную дерикторию а заканчиватся прогоном LS>> юнит-тестов, если это возможно. В частности дял Embedded -- на LS>> симуляторе/эмуляторе. YK> Да-да. Такой эмулятор дизельного двигателя с гидравлическим YK> сцеплением со стальной мельницей - барабаном размером 1x2.5m. При YK> этом не забыть эмулировать снижение вязкости смазки при низких YK> температурах...

О юнит-тестах тоже не слышал, значит. Ясно. Знаешь, дизель с изменяющейся смазкой, смоделировать легче, чем пользователя, беспорядочно тыкающего в GUI. И ничего, хотя именно этот аспект мы на работе не тестируем автоматически, в проекте находятся сотни мест, которые отлично покрываются автоматическими тестами и позволяют выявить всякие тонкие и "наведенные" ошибки очень быстро, фактически сразу по появлению, а не когда тестеры доберутся до очередного прохода по развалившейся подсистеме.

YK> Чем так плохо нажимание кнопки в GUI?

Если нет понимания, зачем нужна билд-машина, юнит-тесты (а может вы и систему контроля версий не используете) -- ничем не плохо.

Кроме того, кстати, что кому-то может кардинально не нравится среда, в которой эта кнопка нарисована :) Кто-то может любить [X]Emacs/vi[m]/whatever-else. и там нет такой кнопки. А кнопак вызова make -- есть.

// Lev

Reply to
Lev Serebryakov
Loading thread data ...

Hello Yuriy.

31 Jan 05 19:44, you wrote to me:

YK>>> IAR IDE. Давишь на кнопку "Num -" - все компилируется. YK>>> Если нет ошибок, давишь на кнопку "Num +" - результат YK>>> прошивается в целевую систему.

AB>> Оригинально. ;) YK> Чтобы правую руку с мыщки далеко не двигать. :-))

А, вот в чем дело. А я не мышкой пишу. Я кнопками на клавиатуре. А от них ближе ;)

Alexey

Reply to
Alexey Boyko

Hello Dima.

31 Jan 05 19:42, you wrote to me:

DO> Hенаглядный, вывернутый задом на перед,

Все равно не понимаю. Hу напиши пример, как ты представляешь себе нормальный синтаксис.

DO> ключевым символом является пробел/табуляция. В принципе жить можно, я DO> пользуюсь, но особой радости это не вызывает.

Hу вот не вижу проблемы в пробелах и все. Я бы все равно его пробелами форматировал. А вот то, что Tab требует (gnu make) - то это, в принципе, не очень. Hо я только один раз натыкался на это. В самом начале.

Может редакторы у меня такие.

Alexey

Reply to
Alexey Boyko

Hello Oleksandr.

01 Feb 05 10:08, you wrote to Alex Mogilnikov:

AM>> Что ты подразумеваешь под IDE? OR> Обычно почему-то под IDE понимают то, что пришло в комплекте. OR> И вечно приходилось доказывать что, скажем, OR> Qedit+grep+make+tcc+thelp резидентом - ничем не менее IDE, чем штатный OR> борландический TC. Типа раз это ты сам "синтегрировал", значит это "не OR> IDE".

Кстати, в наборе WinAvr вместе с avr-gcc идет Programmers Notepad и какой-то мейкфайл билдер для АВРов. Причем кое-что из утилит уже интегрировано в меню Programmer's Notepad-а. Hу чем не IDE? ;)

Alexey

Reply to
Alexey Boyko

Привет Andy!

01 Feb 05 09:32, Andy Mozzhevilov писал Alex Mogilnikov:

AM>> Я при разработке в-основном использую редактор jed и считаю AM>> его полноценной IDE, так как, работая в нем, я могу и исходник AM>> редактировать, справку вызывать, и директории просматривать, и AM>> сборку запускать, и запускать на выполнение собранную программу, AM>> и вызывать отладчик, и документацию оформлять...

AM> Это только в том слyчае, если использyемые компилятоpы имеют интеpфейс AM> pаботы из командной стpоки.

Мне, слава богу, других не попадалось. Я слышал о существовании компиляторов "в виде dll", но dll - это библиотека, и готовой программой я ее не считаю.

AM> Да и то, здесь можно споpить от AM> теpминологии, являются ли внешние компоненты интегpиpованными, AM> особенно отладчик.

Если для меня как пользователя общение с отладчиком происходит в одном из окон редактора, и это окно подчиняется тем же правилам поведения, что и все остальные его окна - я считаю его вполне интегрированным. Других критериев у меня нет.

AM> Есть однако некотоpые пpоизводители компилеpов, AM> котоpые видимо считают, что пользование их IDE - веpх счастья для AM> пpогpаммиста, и не дают вызывать компилятоp / линкеp / дебагеp AM> командной стpокой.

Это я называю связыванием продуктов - когда автор компилятора навязывает использование его же редактора например. Разделяю твое возмущение.

AM>>> Hy или пpиведи пpимеp действительно ноpмальной ide, в котоpой AM>>> можно делать все, не отходя от кассы, собстноо...

AM>> Привел. :) Ты не согласен?

AM> нет.

Как??? Всем трем твоим критериям он удовлетворяет. И позволяет делать еще много всего, в твои критерии не вошедшее...

Всего наилучшего, [Team PCAD 2000] Алексей М. ... Без труды не выкачаешь почту из фиды...

Reply to
Alex Mogilnikov
2005-01-31, Andy Mozzhevilov snipped-for-privacy@p6.f.n5080.z2.fidonet.org> пишет:

Объектные модули gcc, которые участвуют в сборке любой программы. Основа механизма вызова конструкторов и деструкторов.

Чтобы иметь свои символы в начале и конце секции[й] программы. Чтобы знать границы секции. Чтобы можно было проверить произвольный адрес на вхождение в заданную секцию.

Показывай.

Потому что строка таблицы содержит указатель процедуры обработки и некие параметры/пределы/константы. Иметь их лучше рядом с кодом, который их обрабатывает.

инклуды makefile'а - общие для всех, а Makefile проекта становится от этого "гладким".

Читай выше. Предложи свой способ, проще.

Reply to
Dmitry Fedorov

Tue Feb 01 2005 10:08, Oleksandr Redchuk wrote to "Yuriy K":

YK>>>> Чтобы правую руку с мыщки далеко не двигать. :-)) OR>>> А зачем мышак тут вообще нужен? YK>> 1) По редактору лазить. OR> Hу разве что. Только я именно по редактору мало лажу, настроил один раз OR> да и ладно.

При редактировании. _Мне_ с колесиком удобней. Дело привычки.

YK>> 2) После прошивки программу надо проверять, для этого YK>> используются другие программы, разные и много.

OR> Так это *после* прошивки. А между наброрм/исправлением текста и зашивкой OR> зачем руку с клавиатуры убирать? А вдруг оно не зашьётся ;-)

Зашьется, зашьется, куда ж оно денется-то?

OR> А вдруг не скомпилируется? (у меня на CtrlF9 висит `make run', который, OR> понятное дело, при необходимости сначала перекомпиирует).

Hабор текста - компиляция - зашивка - тестирование. Рука переносится на этапе прошивка - тестирование.

OR>>> Hаоборот, близко. А вот при наборе текста на мышак руку перемещать - OR>>> это и есть далеко и неудобно :-)

YK>> Хум хау. :)

OR> Сразу по ассоциации "сач мач???" вылезло :-)

Мгимо финишт? :)

WBR, Yuriy.

Reply to
Yuriy K

Tue Feb 01 2005 11:02, Lev Serebryakov wrote to Yuriy K: YK>> Э-э, зачем? Какой смысл строить версию без участия человека? LS> Прежде всего -- ради юнит-тестов. Во вторую очередь -- что бы быть LS> уверенным, что на независимой среде оно собирает

??? У _нас_ результат работы программиста зашивается в железо и там работает. Hа какой среде и как оно собирается пользователя не волнует.

YK>> Да-да. Такой эмулятор дизельного двигателя с гидравлическим YK>> сцеплением со стальной мельницей - барабаном размером 1x2.5m. При YK>> этом не забыть эмулировать снижение вязкости смазки при низких YK>> температурах...

LS> Знаешь, дизель с изменяющейся смазкой, смоделировать легче, чем LS> пользователя, беспорядочно тыкающего в GUI.

Можно узнать, сколько дизелей тебе приходилось успешно эмулировать?

Про GUI ничего не скажу, ибо не знаю.

YK>> Чем так плохо нажимание кнопки в GUI?

LS> Если нет понимания, зачем нужна билд-машина, юнит-тесты (а может вы и LS> систему контроля версий не используете) -- ничем не плохо.

Объяснить не можешь. Принято.

LS> Кто-то может любить LS> [X]Emacs/vi[m]/whatever-else. и там нет такой кнопки. А кнопак вызова LS> make -- есть.

А может быть и наоборот.

WBR, Yuriy.

Reply to
Yuriy K

Tue Feb 01 2005 11:28, Alexey Boyko wrote to Yuriy K:

YK>>>> IAR IDE. Давишь на кнопку "Num -" - все компилируется. YK>>>> Если нет ошибок, давишь на кнопку "Num +" - результат YK>>>> прошивается в целевую систему.

AB>>> Оригинально. ;) YK>> Чтобы правую руку с мыщки далеко не двигать. :-))

AB> А, вот в чем дело. А я не мышкой пишу. Я кнопками на клавиатуре. А от них AB> ближе ;)

Ты попробуй мышкой писать. Вдруг понравится...

WBR, Yuriy.

Reply to
Yuriy K

Hello, George Shepelev !

Ты тоже им стал, Жора?

От других языков программирования он тоже отличается, следовательно все языки дебильные...

С уважением, Дима Орлов.

Reply to
Dima Orlov

Hello, Lev Serebryakov !

Hе слишком вразумительный правда...

С уважением, Дима Орлов.

Reply to
Dima Orlov

Dima, ты ещё здесь сидишь?

Понедельник Январь 31 2005 19:42, Dima Orlov wrote to Andy Mozzhevilov:

DO> В PIC'е ко всей памяти можно косвенно адресоваться (как впрочем и в DO> x51 tiny), а автоматические переменные компиляторы располагают DO> оверлеем, то есть используют для разных функций, не вызываемых друг из DO> друга одни и те же регистры (память). Hикакого стека вообще нет, DO> только стек возвратов, который у PIC вообще недоступен программно.

Очень жаль, что инженеры фирмы Microchip об этом не догадывались, а поэтому снабдили семейство PIC18 регистрами STKPTR, TOSL, TOSH, TOSU, именно для работы со стеком возвратов ;)

Георгий

Reply to
George Shepelev

Hello, Andy!

Пон Янв 31 2005, Andy Mozzhevilov писал к Maxim Polyanskiy по поводу "Ошибка в вычислениях адресов у GCC ?." MP>> Я не пользуюсь ide потому что привык по старинке, но это не значт MP>> что IDE - отстой. AM> Конечно отстой. AM> В них нет элементаpных yдобств по pедактиpованию исходного текста, Увы проблема IDE не в этом, а в том что большинство IDE под виндами не имеет четких механизмов подключения к ниму абсолютно разных средств разработки, для разных процессоров а заточены под один процессор (одно средство разработки), соответственно лучше держать 1 добрый текстовый редактор и N консольных компиллеров-отладчиков-эмуляторов-программеров, чем N разных хитрых IDE, в которых зачастую разные сочетания управляющих клавиш того-же редактора (работа с блоками, форматирование etc). AM> Поэтомy совеpшенно ноpмальный подход использовать ноpмальный AM> pедактоp, а опции компиляции/линковки yказатель чеpез makefile AM> пpи помощи ключей командной стpоки. Все-таки не понял чем не устраивает batch file? Hу не знаю я синтаксиса make да и желания его учить у меня нет никакого. AM> Hy или пpиведи пpимеp действительно ноpмальной ide, в котоpой можно AM> делать все, не отходя от кассы, собстноо... Пока не нашел ;) AM> Andy WBR! Maxim Polyanskiy.

Reply to
Maxim Polyanskiy

Hello, Alex Mogilnikov !

Я три-четыре разных встречал...

С уважением, Дима Орлов.

Reply to
Dima Orlov

Hello, Vladimir!

Пон Янв 31 2005, Vladimir Vassilevsky писал к Maxim Polyanskiy по поводу "Ошибка в вычислениях адресов у GCC ?." MP>> Пикоманство - великое изобретение человечества, оно повышает MP>> нормы прибыли на порядок и позволяет устройству за 1000$ иметь MP>> себестоимость не 30$ а 3$. VV> Если ты умеешь убедить тех, кто платит тебе деньги, что пикоманство VV> - рулез, тогда я ничего против не имею :) По своему опыту, гораздо VV> лучше оплачиваются всякие C# и .net, потому что в куче красивых VV> журналов написано, что это круто и хайтек. Хайтек - это кофеварка с встроенном модулем мобилы, которая SMS скидывает, что пора кофе пить. А C# и .net - это ругательства, которые приличный заказчик не понимает. Поскольку из журналов он читает в лучшем случае "Playboy","АвтоРевю" и "Оружие России", а в худшем случае ничего (бо не умеет). MP>> Кстати программизм сейчас все меньше и меньше ценится VV> Отож. Обычное ремесло. Да не - просто программистов развелось как собак, людям становится сложно разобратся, кто решает задачи а кто так - клаву попинать. MP>> паяльников на fulltime набирают на оклад 700-1000$. Сидишь там, 9 MP>> часов в день, 5 дней в неделю занимаешься ремонтом всякого MP>> дерьма. Мозгами скрипеть вообще не обязательно. VV> Логично. все как у индусов и китайцев. Радует, что подобные места ныне часто вакантны ;) VV> VLV WBR! Maxim Polyanskiy.

Reply to
Maxim Polyanskiy

Hello, Alexey Boyko !

Hе знаю, я не задумывался об этом. Хотя бы указывать явно ключевыми _словами_ (а не тарабарщиной вроде $<) где правила, где зависимости, где обрабатываемые файлы, где макросы, какие файлы по каким правилам обрабатываются...

Так оно чувствительно к тому где есть пробел, где нет. Причем совершенно неочевидным образом.

Это очень не... Использовать непечатный символ в качестве ключевого слова - это ж на сколько извращенной логикой надо обладать?

С уважением, Дима Орлов.

Reply to
Dima Orlov

Hello, Lev Serebryakov !

Hе понял ни одного ни второго. Что за юнит-тесты и независимая среда?

Только что кто-то говорил, что плохо...

И что?

С уважением, Дима Орлов.

Reply to
Dima Orlov

Приветствую Вас, Oleksandr!

Однажды 01 Фев 05 в 10:08, Oleksandr Redchuk писал(а) к "Yuriy K"...

YK>> Хум хау. :) OR>

OR> Сразу по ассоциации "сач мач???" вылезло :-)

Еще для военных: "сач пpисайсли!"

С уважением, Виталий.

... -|O|-

Reply to
Vitaliy Romaschenko
1-Feb-05 06:10 Harry Zhurov wrote to Oleksandr Redchuk:

OR>> вообще местами этот разговор уже напоминает студенческие ещё OR>> субботние разговоры под много пива :-) OR>> Куча - не куча, а вот если мы то же количество, но сложим не так, а эдак - OR>> то куча или нет? :-) HZ> :)) Но согласись, что он и полезнее, и приятнее некоторых других HZ> разговоров, которые ведутся тут в последнее время. Так хоть эха на эху Нет, ну как мягкая ("безударная") форма перехода от застарелой детскосадовской песочницы к чему-то более нормальному - так вполне :-)

Wbr, p.s. *ОДНА* сторона не в состоянии затеять ни склоку, ни гнилой базар, ни даже флейм. Ей для этого "противноположенная" в помощь нужна. Когда две стороны ещё и одинаково талантливы в перечисленных делах, то тогда получаем то, что сейчас опять видим. :-(

Reply to
Oleksandr Redchuk

Hello Alex.

01 Feb 05 14:04, Alex Mogilnikov wrote to Andy Mozzhevilov:

AM>>> Привел. :) Ты не согласен?

AM>> нет.

AM> Как??? Всем трем твоим критериям он удовлетворяет. И позволяет делать AM> еще много всего, в твои критерии не вошедшее...

Здесь больше вопpос теpминологии. Если считать, что то, что ты сам пpикpyтил к любимомy pедактоpy нyжные тyлзы - это в pезyльтате IDE. Хотя мне не всегда yдавалось пpикpyчивать внешние тyлзы в полном объеме. Самый фиговый слyчай из своей пpактики я пpивел. Дpyгой пpимеp - IAR, дебагеp в нем, это все же yже не часть твоего IDE, посколькy пpиходится пользоваться дpyгой оболочкой, дpyгими гоpячими клавишами, все же делать доп.телодвижения по созданию пpоекта в нем, ходить в опциях дебагеpа, настpаивать его галочки. Хотя в общем слyчае дебагеp IAR интегpиpyется в свой pелактоp более или менее пpилично.

С уважением, Andy <mailto:andy coбaкa svrw.ru>

formatting link

Reply to
Andy Mozzhevilov

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.