WINAVR

Sep 05, 2005 Last reply: 20 years ago 816 Replies
ðÒÉ×ÅÔ, Dimmy !

19 Oct 05 , 16:37 Dimmy Timchenko ÐÉÓÁÌ Ë Alex Mogilnikov:

DT>>> óÕÔØ-ÔÏ × ÈÏÔØ ËÁËÏÊ-ÔÏ ÐÅÒÅÎÏÓÉÍÏÓÔÉ. ÷ÏÔ ÁÄÓËÉÅ "ÔÉÐÙ, DT>>> ÏÐÒÅÄÅÌÑÅÍÙÅ ÐÏÌØÚÏ×ÁÔÅÌÅÍ" ÄÁÀÔ ÍÁËÓÉÍÁÌØÎÕÀ ÐÅÒÅÎÏÓÉÍÏÓÔØ. DT>>> ëÓÔÁÔÉ, ÄÁÖÅ × C ÎÅ ÒÅËÏÍÅÎÄÕÅÔÓÑ ÐÏÌØÚÏ×ÁÔØÓÑ ÂÁÚÏ×ÙÍÉ ÔÉÐÁÍÉ.

AM>> þÔÏ ÔÙ ÉÍÅÅÛØ × ×ÉÄÕ?

DT> HÁÐÒÉÍÅÒ, size_t ×ÍÅÓÔÏ int.

éÌÉ, ÞÔÏ ÞÁÝÅ, uint32_t, int8_t ÉÔÄ?

. ó Õ×ÁÖÅÎÉÅÍ, HÉËÉÔÁ. icq:240059686, lj-user:nicka_startcev ... âÙÓÔÒÏÒÁÓÔ×ÏÒÉÍÙÅ ÂÕÔÅÒÂÒÏÄÙ

Hello Andrey.

Fri Oct 21 2005 11:30, Andrey Solomatov wrote to Kirill Frolov:

KF>> é ËÏÍÐÉÌÑÔÏÒÏÍ ÜÌÅÍÅÎÔÁÒÎÏ ÏÂÎÁÒÕÖÉ×ÁÅÔÓÑ.

AS> ëÏÍÐÉÌÑÔÏÒ ÜÌÅÍÅÎÔÁÒÎÏ ÆÉÇÅÅÔ É ÉÝÅÔ ÂÌÉÖÁÊÛÕÀ "ÂÁÌÁÎÓÎÕÀ" ÓËÏÂËÕ. AS> þÔÏ ÐÒÉ ÓÒÅÄÎÅÊ ÓÌÏÖÎÏÓÔÉ ËÏÄÁ ÍÏÖÅÔ ÄÁÔØ ËÒÁÊÎÅ *×ÙÞÕÒÎÙÅ* ÒÅÚÕÌØÔÁÔÙ AS> (×ÐÌÏÔØ ÄÏ "ÈÁ-ÁÁÞÕ ÓËÏÂËÕ" × ÓÁÍÏÍ ËÏÎÃÅ ÆÁÊÌÁ).

äÁ, Õ ÐÁÓËÁÌÑ ÔÏÖÅ ÔÁËÏÅ ÂÙ×ÁÅÔ. :)

Dimmy.

Hello Alex.

Fri Oct 21 2005 13:59, Alex Mogilnikov wrote to me:

AM>>> á ÅÓÌÉ ÎÁÏÂÏÒÏÔ, ÐÁÓËÁÌÅ×ÓËÉÊ ÍÏÄÕÌØ ÎÁÄÏ ÉÓÐÏÌØÚÏ×ÁÔØ ÇÄÅ-ÔÏ AM>>> ÅÝÅ?

DT>> HÁÐÒÉÍÅÒ, ÇÄÅ? :)

AM> HÁÐÒÉÍÅÒ × ÁÓÓÅÍÂÌÅÒÎÏÍ.

ðÁÓËÁÌÅ×ÓËÉÊ ÍÏÄÕÌØ ÐÒÉ×ÑÚÙ×ÁÔØ Ë ÁÓÓÅÍÂÌÅÒÎÏÍÕ ÐÒÏÅËÔÕ? :) ôÏÎËÏÅ ÉÚ×ÒÁÝÅÎÉÅ. ïÂÙÞÎÏ ÄÅÌÁÀÔ ÎÁÏÂÏÒÏÔ.

DT>> ôÙ × Ó×ÏÉÈ ÐÒÏÅËÔÁÈ ÍÎÏÇÏ "ÉÎÏÑÚÙÞÎÙÈ" ÍÏÄÕÌÅÊ - ËÒÏÍÅ ÁÓÓÅÍÂÌÅÒÎÙÈ DT>> - ÉÓÐÏÌØÚÕÅÛØ?

AM> ëÒÏÍÅ ÁÓÓÅÍÂÌÅÒÁ Ñ ÉÓÐÏÌØÚÕÀ C, C++ É AHDL. HÏ ÐÏÓÌÅÄÎÉÊ ÍÏÖÎÏ ÎÅ AM> ÕÞÉÔÙ×ÁÔØ. :)

ôÏ-ÔÏ É ÏÎÏ.

AM>>> á ×ÏÔ ÜÔÏÇÏ Ñ ÎÅ ÌÀÂÌÀ. ëÏÎÅÞÎÏ, ÅÓÌÉ ×ÅÓØ ÐÒÏÅËÔ ÓÏÂÉÒÁÅÔÓÑ ÚÁ AM>>> 10 ÓÅËÕÎÄ, ÍÏÖÎÏ ËÁÖÄÙÊ ÒÁÚ ×ÓÅ ÍÏÄÕÌÉ ÐÅÒÅÓÏÂÉÒÁÔØ.

DT>> ÷Ï-ÐÅÒ×ÙÈ, ×ÓÔÒÏÅÎÎÙÊ make ÐÒÏ×ÅÒÑÅÔ ÄÁÔÙ ÆÁÊÌÏ× É ÐÅÒÅËÏÍÐÉÌÉÒÕÅÔ DT>> ÔÏÌØËÏ ÏÂÎÏ×̣ÎÎÙÅ.

AM> üÔÏ ÞÒÅ×ÁÔÏ ÐÒÏÂÌÅÍÁÍÉ. èÏÒÏÛÏ ÅÓÌÉ ÐÒÏÇÒÁÍÍÁ ÐÒÏÓÔÏ ÎÅ ÓÌÉÎËÕÅÔÓÑ, × AM> ÈÕÄÛÅÍ ÖÅ ÓÌÕÞÁÅ ÂÕÄÕÔ ÇÌÀËÉ ÐÒÉ ×ÙÐÏÌÎÅÎÉÉ.

ó ËÁËÏÊ ÓÔÁÔÉ? HÏ ÄÌÑ ÎÁģÖÎÏÓÔÉ ÅÓÔØ ÏÐÃÉÑ "Rebuild All".

Dimmy.

Hello Alex.

Fri Oct 21 2005 14:29, Alex Mogilnikov wrote to me:

DT>> HÏ ÔÙ ÜÔÏ ÓÄÅÌÁÌ ×ÒÕÞÎÕÀ, ÎÁÓÔÒÁÉ×ÁÑ make, ÌÉÎËÅÒ, ÞÉÔÁÑ ÄÏËÉ, DT>> ÐÏÌÕÞÉÌÏÓØ ÎÅ ÓÒÁÚÕ É ÔÁË ÄÁÌÅÅ? :) á × ÐÁÓËÁÌÅ×ÓËÉÈ ËÏÍÐÉÌÑÔÏÒÁÈ ÜÔÏ DT>> ×ӣ ×ÓÔÒÏÅÎÎÏÅ É ÞÁÓÔØ ÑÚÙËÁ.

AM> äÁ, ËÏÎÅÞÎÏ. HÅ ÈÏÞÅÛØ ÖÅ ÔÙ ÓËÁÚÁÔØ, ÞÔÏ ÔÁÍ ×ÁÔÒÏÅÎÎÙÊ make ÍÏÖÎÏ AM> ÎÅ ÎÁÓÔÒÁÉ×ÁÔØ, É ÐÒÉ ÜÔÏÍ ×ÓÅ ÒÁ×ÎÏ ×ÓÅ ÓÒÁÚÕ ÐÏÌÕÞÁÅÔÓÑ? :)

ôÁË Ñ Ö Ï ÔÏÍ É ÔÏÌËÕÀ. óÒÅÄÓÔ×Á, ËÏÔÏÒÙÅ × C ÒÅÁÌÉÚÕÀÔÓÑ ÚÁÇÏÌÏ×ËÁÍÉ, ÐÒÏÅËÔÁÍÉ É ÚÁ×ÉÓÉÍÏÓÔÑÍÉ, ÚÄÅÓØ ×ÓÔÒÏÅÎÙ × ÑÚÙË. ëÓÔÁÔÉ, Ñ É ÄÌÑ C ÓÄÅÌÁÌ ÓÅÂÅ ÐÒÏÓÔÅÎØËÕÀ ÓÏÆÔÉÎËÕ, ËÏÔÏÒÁÑ ×ÙÄÉÒÁÅÔ ÉÚ *.c/*.cpp ÐÏÍÅÞÅÎÎÙÅ ÓÐÅÃÉÁÌØÎÙÍÉ ËÏÍÍÅÎÔÁÒÉÑÍÉ "ÉÎÔÅÒÆÅÊÓÎÙÅ ÓÅËÃÉÉ" É ÚÁÐÉÓÙ×ÁÅÔ ÉÈ × *.h. á ÚÁ ÚÁ×ÉÓÉÍÏÓÔÑÍÉ ÕÍÅÅÔ ÓÌÅÄÉÔØ IAR-Ï×ÓËÉÊ ÂÉÌÄÅÒ.

AM> éÌÉ ÞÔÏ ÍÏÖÎÏ ÎÅ ÞÉÔÁÔØ ÄÏËÉ? :)

HÕ, ÄÏËÉ ÞÉÔÁÔØ ×ÓÅÇÄÁ ÏÂÑÚÁÔÅÌØÎÏ. :)

Dimmy.

Hello Dmitry.

Fri Oct 21 2005 15:00, Dmitry Orlov wrote to me:

DT>> Bldrtl.pas DT>> Consts.pas

DO> äÁ ÕÖ, ÏÓÏÂÅÎÎÏ ÄÏÌÖÎÏ ÂÙÔØ ÐÏÌÅÚÎÙÊ ËÏÄ × ÜÔÉÈ

ñ Ö ÍÏÇÕ É ÐÒÏÔÉ×ÏÐÏÌÏÖÎÙÅ ÐÒÉÍÅÒÙ ÐÒÉ×ÅÓÔÉ, ÎÁÐÒÉÍÅÒ, SysUtils É VpUtils. éÍÅÎÎÏ ÞÔÏ ÍÁÓÓÁ ÏÞÅÎØ ÐÏÌÅÚÎÙÈ ÆÕÎËÃÉÊ.

Dimmy.

Hello, Dimmy Timchenko! You wrote in conference fido7.ru.embedded to Dmitry Orlov on Fri, 21 Oct 2005 01:51:04

+0400:

DT> Hello Dmitry.

DT> Fri Oct 21 2005 01:07, Dmitry Orlov wrote to me:

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

DT>>> Hу это у кого как. :)

DO>> И у кого же не так, как я сказал?

DT> Да у того же BP. Или VP, у которого в каталог RTL входят DT> такие исходники:

DT> Bldrtl.pas DT> Consts.pas

Да уж, особенно должно быть полезный код в этих

unit consts;

interface

{$R consts.RES}

const SAssignError = 61440; SFCreateError = 61441;

[Sorry, skipped]

SMCIWaveAudio = 61662; SMCIUnknownError = 61663;

implementation

end.

Накидать в каталог чего угодно дело не хитрое, но собственно rtl является system - то, без чего компилятор вообще не работает.

dima

formatting link

ðÒÉ×ÅÔ, Dmitry !

21 Oct 05 , 01:07 Dmitry Orlov ÐÉÓÁÌ Ë Dimmy Timchenko:

DT>>>> ÷ÏÔ × BP/VP/FP etc Ó ËÏÍÐÉÌÑÔÏÒÏÍ ÐÏÓÔÁ×ÌÑÅÔÓÑ RTL - Runtime DT>>>> Library, ËÕÞÁ ÐÏÌÅÚÎÙÈ ÀÎÉÔÏ× (ÜÔÏ ÞÔÏ-ÔÏ ×ÒÏÄÅ DT>>>> ÆÁÊÌÁ-ÂÉÂÌÉÏÔÅËÉ). :)

DO>>> RTL - ÜÔÏ ÎÅ ËÕÞÁ ÐÏÌÅÚÎÏÇÏ ËÏÄÁ, Á ÒÅÁÌÉÚÁÃÉÑ ÏÐÅÒÁÃÉÊ Ó DO>>> ÎÅÐÏÄÄÅÒÖÉ×ÁÅÍÙÍÉ ÐÒÏÃÅÓÓÏÒÏÍ ÔÉÐÁÍÉ. é ÅÓÔØ ÔÁËÁÑ ÂÉÂÌÉÏÔÅËÁ DO>>> Õ ÌÀÂÏÇÏ ËÏÍÐÉÌÑÔÏÒÁ.

DT>> HÕ ÜÔÏ Õ ËÏÇÏ ËÁË. :)

DO> é Õ ËÏÇÏ ÖÅ ÎÅ ÔÁË, ËÁË Ñ ÓËÁÚÁÌ?

ÆÁÊÌÙ, ÓÏËÅÔÙ, ÕÎÉÈÔÁÊÍ ×ÓÑËÉÊ - ÜÔÏ Õ ÐÒÏÃÅÓÓÏÒÁ? :)

. ó Õ×ÁÖÅÎÉÅÍ, HÉËÉÔÁ. icq:240059686, lj-user:nicka_startcev ... üÌÅËÔÒÏÎ Ó Õ×ÏÌØÎÉÔÅÌØÎÏÊ ÏÔ ÆÁÒÁÄÅÑ Ó ×ÉÚÏÊ ëÉÒÈÇÏÆÁ

Hello, Dimmy Timchenko! You wrote in conference fido7.ru.embedded to Alex Mogilnikov on Fri, 21 Oct 2005 01:53:58

+0400:

DT> Hello Alex.

DT> Fri Oct 21 2005 02:35, Alex Mogilnikov wrote to me:

DT>>> реализации, секция инициализации). Там, где хочешь этим DT>>> модулем воспользоваться, просто пишешь

DT>>> uses DT>>> MyNiceModule;

AM>> Это если некий внешний модуль используешь в паскалевском.

DT> Hет, это всё паскалевское. :) Чтобы прилинковать что-то, DT> написанное на C или ассеблере, надо вручную указывать файл, DT> который надо линковать и список внешних процедур/функций.

Ну это и в Паскале делается в интерфейсной секции. В некоторых реализациях - это отдельный файл, ничем по сути от .h не отличающийся.

AM>> А если наоборот, паскалевский модуль надо использовать где-то AM>> еще?

Тогда ничего не остается, как возвращаться к той же принятой и в других языках структуре. Интерфейсный (.h) файл, объектник, библиотека объектников. В ТР на это забили и использовать на нем написанное в других проектах невозможно. В других реализациях пошли более разумным путем.

DT> Hапример, где? :) Ты в своих проектах много "иноязычных" DT> модулей - кроме ассемблерных - используешь?

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

DT>>> И всё, что описано в интерфейсной секции модуля DT>>> MyNiceModule, становится видимым в использующем коде (похоже DT>>> на namespaces).

AM>> У меня и без Паскаля все делается автоматически. В Makefile я AM>> перечисляю используемые модули:

AM>> SRC = module1 module2 module3

DT> :))) Hу ты ж их руками перечисляешь и в отдельном файле. И DT> H-файлы тебе надо не забыть писать и включать куда надо.

А uses mod1, mod2, mod3, причем разные в интерфейсе и в реализации описывать не надо в ручную? И тоже надо не забыть и включать не куда попало, а куда надо.

DT> А я всю нужную для линковки информацию указываю в исходниках.

А make файл не является частью исходников?

DT> Впрочем, конечно, это вопрос вкуса: по сути-то эти методы DT> эквивалентны.

Отож.

DT>>> Причём прилинкуется только тот код, который ты DT>>> действительно используешь

AM>> И это у меня происходит автоматически - все объектные файлы в AM>> директории помещаются в архив (библиотеку), а библиотеки AM>> отдаются линкеру, откуда он берет только те файлы, на символы AM>> которых есть ссылки.

DT> Hо ты это сделал вручную, настраивая make, линкер, читая доки, DT> получилось не сразу и так далее? :)

В каком смысле не сразу? А на других языках программы сразу пишутся, или можно без чтения документации узнать какие модули и где надо включать?

DT> А в паскалевских компиляторах это всё встроенное и часть языка.

Причем языка нестандартного. По которому все равно надо читать документацию.

AM>> А у меня некоторые проекты компилируются несколько минут.

DT> Во-вторых, паскалевские компиляторы, особенно TP/BP - очень DT> быстрые. :)

Потому что очень глупые, оптимизаций и изысками в кодогенерации себя не утруждающие. Да и язык более простой, чем С.

dima

formatting link

Hello, Dimmy Timchenko! You wrote in conference fido7.ru.embedded to Ruslan Mohniuc on Fri, 21 Oct 2005 07:19:59

+0400:

DT>>> А не лучше ли функции писать? :)

RM>> Hу например конкретно это у меня - четыре софтовых RM>> мастер-порта модбасовых RM>> RS485. Отличаются только адресами, по которым их структуры RM>> живут, и железячными привязками (таймер, ноги). Если RM>> организовываю как функцию, то есть передаю в нее указатель на RM>> структуру текущего порта,

DT> Можно и просто индекс... И если отличаются только данными, то DT> какой выигрыш может дать макрос в сравнении с функцией? DT> Может, структуры данных неправильно организованы?

Да какие там структуры? Адресами регистров они отличаются. На многих восьмиразрядных архитектурах косвенное обращение обходится существенно дороже прямого, вот и причина применения макроса вместо функции.

RM>> то размер кода (а главное -время его выполнения) RM>> увеличивается в два раза-

DT> Первый раз слышу, что функция по сравнению с макросом даёт DT> увеличение размера кода. :)

А с какими архитектурами ты работал?

DT> Hо тогда уж, конечно, лучше классами пользоваться, или на

И чем же классы лучше? Те же косвенные вызовы вместо прямых.

DT> худой конец темплейтами.

Вот этого механизма я не знаю.

DT> Макросы в C - это нуль проверки времени компиляции.

Это еще с каких дел? Компилируется-то развернутый макропроцессором код. Проблема макросов, особенно сложных (впрочем сишный макропроцессор особо сложные не умеет) в том, что обычно отсутствует механизм отладки самих макросов. Приходится писать, прогонять макропроцессор, смотреть его выход, и так далее. Пройти по шагам, посмотреть промежуточные результаты и значения переменных макропроцессора как правило нельзя.

dima

formatting link

Hello, Dimmy Timchenko! You wrote in conference fido7.ru.embedded to Dmitry Orlov on Fri, 21 Oct 2005 07:27:00

+0400:

DT>>> А компилятор на пару с линкером собирают исполняемый или DT>>> загружаемый файл - безо всяких хедеров, проектов и DT>>> зависимостей - на основании информации, присутствующей в DT>>> исходниках.

DO>> Hу сделали в Борланде make частью языка, и получили как DO>> удобство, особенно для новичка, так и негибкость. Скажем если DO>> частью проекта является сгенерированный каким-то средством DO>> исходник, описать это в make - не фиг делать, а тут надо репу DO>> чесать и тот же make использовать.

DT> H-не понял, исходник на каком языке?

Да какая разница?

DT> Если на паскале - то без проблем.

С проблемами, паскалевский встроенный make не понимает подобных вещей.

DT> Кстати, зачем генерировать исходник?

Бывает нужно сгенерировать именно исходник.

DT> Обычно генерируют данные.

Которые тоже паскалевский make не сумеет понять.

DO>> Как бонус - невозможность многоязыковых проектов. TPU - не DO>> подлинкуешь к Сишной программе (а наоборот можно, хоть и с DO>> рядом странных ограничений).

DT> Так ведь если проект на Паскале - то можно.

Только если или есть исходники или tpu той же версии

DT> А по поводу проектов на C ты же не говоришь о такой невозможности,

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

DT> хоть туда TPU и не прилинкуешь. :)

Его вообще мало куда подлинкуешь.

DT> Кстати, а какие вообще бывают многоязыковые проекты, кроме DT> ЯВУ+ассемблер? Hу изредка ЯВУ+C...

Любые.

DT> Ограничения - да, местами странноватые. Hапример, в C-шном DT> или ассемблерном коде public можно объявить только код, а DT> данные надо объявлять обязательно в паскалевском модуле и DT> использовать, как external.

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

dima

formatting link

Hello Andrey.

21 Oct 05 12:34, Andrey Solomatov wrote to Ruslan Mohniuc:

RM>> HÕ ÎÁÐÒÉÍÅÒ ËÏÎËÒÅÔÎÏ ÜÔÏ Õ ÍÅÎÑ - ÞÅÔÙÒÅ ÓÏÆÔÏ×ÙÈ ÍÁÓÔÅÒ-ÐÏÒÔÁ RM>> ÍÏÄÂÁÓÏ×ÙÈ RS485. ïÔÌÉÞÁÀÔÓÑ ÔÏÌØËÏ ÁÄÒÅÓÁÍÉ, ÐÏ ËÏÔÏÒÙÍ ÉÈ RM>> ÓÔÒÕËÔÕÒÙ ÖÉ×ÕÔ, É ÖÅÌÅÚÑÞÎÙÍÉ ÐÒÉ×ÑÚËÁÍÉ (ÔÁÊÍÅÒ, ÎÏÇÉ). åÓÌÉ RM>> ÏÒÇÁÎÉÚÏ×Ù×ÁÀ ËÁË ÆÕÎËÃÉÀ, ÔÏ ÅÓÔØ ÐÅÒÅÄÁÀ × ÎÅÅ ÕËÁÚÁÔÅÌØ ÎÁ RM>> ÓÔÒÕËÔÕÒÕ ÔÅËÕÝÅÇÏ ÐÏÒÔÁ,

AS> åÓÌÉ-ÂÙ ÉÓÐÏÌØÚÏ×ÁÔØ C++ - ÔÏ ÍÏÖÎÏ ÉÓÐÏÌØÚÏ×ÁÔØ ÓÓÙÌËÉ É ÉÎÌÁÊÎÙ. AS> ôÁÓËÉÎÇ (*×ÒÏÄÅ-ÂÙ*) × ÜÔÏÍ ÓÌÕÞÁÅ ÓÐÏÓÏÂÅÎ ÐÏÎÑÔØ, ÞÔÏ × ÜÔÏÍ ÓÌÕÞÁÅ AS> ÐÏÄÓÔÁ×ÌÑÀÔÓÑ ÐÒÑÍÙÅ ÏÂÒÁÝÅÎÉÑ Ë ÐÏÒÔÁÍ.

inline ÜÔÏ ÎÅ ÂÏÌÅÅ, ÞÅÍ ÄÏÂÒÏÅ ÐÏÖÅÌÁÎÉÅ ËÏÍÐÉÌÑÔÏÒÕ ÐÒÏÉÎÌÁÊÎÉÔØ ÆÕÎËÃÉÀ. HÁ ÅÇÏ ÓÏÂÓÔ×ÅÎÎÏÅ ÕÓÍÏÔÒÅÎÉÅ. óÓÙÌËÁ ÏÔ ÕËÁÚÁÔÅÌÑ × ÐÌÁÎÅ ÒÅÁÌÉÚÁÃÉÉ ×ÏÏÂÝÅ ÎÉÞÅÍ ÎÅ ÏÔÌÉÞÁÅÔÓÑ.

Dmitry

Dimmy, ÔÙ Åݣ ÚÄÅÓØ ÓÉÄÉÛØ?

÷ÔÏÒÎÉË ïËÔÑÂÒØ 18 2005 14:32, Dimmy Timchenko wrote to Dmitry Orlov:

DO>> åÒÕÎÄÁ ËÁËÁÑ-ÔÏ. ëÁËÁÑ ÒÁÚÎÉÃÁ ÚÎÁËÏ×ÙÅ ÉÌÉ ÂÅÚÚÎÁËÏ×ÙÅ ÞÉÓÌÁ? DO>> ïÐÅÒÁÃÉÑ ÓÌÏÖÅÎÉÑ ÄÌÑ ÎÉÈ ÎÅ ÏÔÌÉÞÁÅÔÓÑ. ëÅÍ É ËÁË ÄÏÌÖÎÏ DO>> ÐÅÒÅÐÏÌÎÅÎÉÅ ÏÂÒÁÂÁÔÙ×ÁÔØÓÑ? DT> õÇÕ. éÎÔÅÒÅÓÎÏ, ÚÁÞÅÍ × PSW Õ ÐÒÏÃÅÓÓÏÒÏ× É íë ÅÓÔØ ÂÉÔ Overflow? :) DT> é ÐÏÞÅÍÕ ÏÎ ÐÒÉÍÅÎÑÅÔÓÑ ÉÍÅÎÎÏ × ÚÎÁËÏ×ÏÊ ÁÒÉÆÍÅÔÉËÅ?

ìÉÛÎÑÑ ÓÕÝÎÏÓÔØ! ÷ÙËÉÎÕÔØ! é ËÒÕÐÎÙÍÉ ÂÕË×ÁÍÉ ÎÁÐÉÓÁÔØ × ÄÏËÅ, ÞÔÏ ÞÉÐ "ÓÉ-ÓÏ×ÍÅÓÔÉÍÙÊ" ;)))

çÅÏÒÇÉÊ

Hello, Dimmy Timchenko! You wrote in conference fido7.ru.embedded to Alex Mogilnikov on Fri, 21 Oct 2005 14:44:30

+0400:

AM>>>> А если наоборот, паскалевский модуль надо использовать AM>>>> где-то еще?

DT>>> Hапример, где? :)

AM>> Hапример в ассемблерном.

DT> Паскалевский модуль привязывать к ассемблерному проекту? :) DT> Тонкое извращение. Обычно делают наоборот.

Потому что не наоборот ТР не позволяет никак. Ни стартап не поменять, ни от функций ДОС отвязаться. Сделать на нем embedded проект практически невозможно. Нормально же сделанные средства сочетаются в любом виде.

dima

formatting link

Hello, Dimmy Timchenko! You wrote in conference fido7.ru.embedded to Alex Mogilnikov on Fri, 21 Oct 2005 14:47:10

+0400:

DT>>> Hо ты это сделал вручную, настраивая make, линкер, читая DT>>> доки, получилось не сразу и так далее? :) А в паскалевских DT>>> компиляторах это всё встроенное и часть языка.

AM>> Да, конечно. Hе хочешь же ты сказать, что там ватроенный make AM>> можно не настраивать, и при этом все равно все сразу AM>> получается? :)

DT> Так я ж о том и толкую. Средства, которые в C реализуются DT> заголовками, проектами и зависимостями, здесь встроены в язык.

Сомнительное преимущество, иногда оборащивающее недостатками или как минимум негибкостью.

dima

formatting link

Hello Dmitry.

Fri Oct 21 2005 17:48, Dmitry Orlov wrote to me:

DT>> á × ÐÁÓËÁÌÅ×ÓËÉÈ ËÏÍÐÉÌÑÔÏÒÁÈ ÜÔÏ ×ӣ ×ÓÔÒÏÅÎÎÏÅ É ÞÁÓÔØ ÑÚÙËÁ.

DO> ðÒÉÞÅÍ ÑÚÙËÁ ÎÅÓÔÁÎÄÁÒÔÎÏÇÏ. ðÏ ËÏÔÏÒÏÍÕ ×ÓÅ ÒÁ×ÎÏ ÎÁÄÏ ÞÉÔÁÔØ DO> ÄÏËÕÍÅÎÔÁÃÉÀ.

HÕ, ÓÔÁÎÄÁÒÔÎÙÊ ÑÚÙË - ÜÔÏ, ÐÏÖÁÌÕÊ, ÔÏÌØËÏ áÄÁ... ;) ÷ÐÒÏÞÅÍ, C - ÔÏÖÅ ÓÔÁÎÄÁÒÔ ad hoc de facto. :)

AM>>> á Õ ÍÅÎÑ ÎÅËÏÔÏÒÙÅ ÐÒÏÅËÔÙ ËÏÍÐÉÌÉÒÕÀÔÓÑ ÎÅÓËÏÌØËÏ ÍÉÎÕÔ.

DT>> ÷Ï-×ÔÏÒÙÈ, ÐÁÓËÁÌÅ×ÓËÉÅ ËÏÍÐÉÌÑÔÏÒÙ, ÏÓÏÂÅÎÎÏ TP/BP - ÏÞÅÎØ DT>> ÂÙÓÔÒÙÅ. :)

DO> ðÏÔÏÍÕ ÞÔÏ ÏÞÅÎØ ÇÌÕÐÙÅ, ÏÐÔÉÍÉÚÁÃÉÊ É ÉÚÙÓËÁÍÉ × ËÏÄÏÇÅÎÅÒÁÃÉÉ ÓÅÂÑ ÎÅ DO> ÕÔÒÕÖÄÁÀÝÉÅ.

äÌÑ PC ÜÔÏ ÎÅ ÔÁË ×ÁÖÎÏ. ôÕÔ ×ÁÖÎÅÅ ïïð-ÝÉÎÏÊ ÎÅ Õ×ÌÅËÁÔØÓÑ.

DO> äÁ É ÑÚÙË ÂÏÌÅÅ ÐÒÏÓÔÏÊ, ÞÅÍ ó.

ðÒÁ×ÉÌØÎÏ, ÂÏÌÅÅ ÐÒÏÓÔÏÊ, ÐÏÎÑÔÎÙÊ É ÐÒÏÄÕÍÁÎÎÙÊ. èÏÔÑ É ÎÁÇÒÕÖÅÎÎÙÊ ×ÓÑËÉÍÉ ÒÀÛÅÞËÁÍÉ ÄÌÑ ÕÄÏÂÓÔ×Á.

Dimmy.

Hello, Dimmy Timchenko! You wrote in conference fido7.ru.embedded to Dmitry Orlov on Fri, 21 Oct 2005 14:51:23

+0400:

DT>>> Bldrtl.pas DT>>> Consts.pas

DO>> Да уж, особенно должно быть полезный код в этих

DT> Я ж могу и противоположные примеры привести, например, DT> SysUtils и VpUtils. DT> Именно что масса очень полезных функций.

Какое только они имеют к runtime library, кроме того, что в общем эклектичном духе, свойственном борландовским поделиям и их наследникам все подряд кидается в одну кучу? Отчасти это конечно и папой Виртом предопределено, который не нашел ничего лучше, чем засунуть в язык ввод-вывод, вместо того, чтобы обслуживать его стандартной библиотекой. Кстати это одна из причин, по которой на контроллерах, где нет никакой поддержки ВВ со стороны окружения программы, реализация того же паскаля просто невозможна. Это будет в лучшем случае паскаль-подобный язык. Та же кстати проблема и с динамической памятью.

А библиотека времени исполнения - это именно поддержка компилятора. Реализация того в языке, что делается не развернутой последовательностю команд, а вызовом функции. А не просто набор полезных в тех или иных случаях функций.

dima

formatting link

Hello Dmitry.

Fri Oct 21 2005 22:30, Dmitry Orlov wrote to me:

DT>> ðÁÓËÁÌÅ×ÓËÉÊ ÍÏÄÕÌØ ÐÒÉ×ÑÚÙ×ÁÔØ Ë ÁÓÓÅÍÂÌÅÒÎÏÍÕ ÐÒÏÅËÔÕ? :) DT>> ôÏÎËÏÅ ÉÚ×ÒÁÝÅÎÉÅ. ïÂÙÞÎÏ ÄÅÌÁÀÔ ÎÁÏÂÏÒÏÔ.

DO> ðÏÔÏÍÕ ÞÔÏ ÎÅ ÎÁÏÂÏÒÏÔ ôò ÎÅ ÐÏÚ×ÏÌÑÅÔ ÎÉËÁË. HÉ ÓÔÁÒÔÁÐ ÎÅ ÐÏÍÅÎÑÔØ, ÎÉ DO> ÏÔ DO> ÆÕÎËÃÉÊ äïó ÏÔ×ÑÚÁÔØÓÑ. óÄÅÌÁÔØ ÎÁ ÎÅÍ embedded ÐÒÏÅËÔ ÐÒÁËÔÉÞÅÓËÉ DO> ÎÅ×ÏÚÍÏÖÎÏ.

÷ÁÈ, Á ÔÙ É ÜÔÏ ÐÙÔÁÌÓÑ? õ×ÁÖÁÀ. :)

Dimmy.

AS>>> ÷ÏÏÂÝÅ-ÔÏ {} ÎÅ ÓÌÉÛËÏÍ ÓÉÌØÎÏ ÏÔÌÉÞÁÀÔÓÑ ÏÔ () (ÐÒÅÄ×ÉÖÕ ×ÏÚÒÁÖÅÎÉÑ - AS>>> "ÉÓÐÏÌØÚÕÊÔÅ ÐÒÁ×ÉÌØÎÙÊ ÛÒÉÆÔ). KF>> ðÒÅÄ×ÉÖÕ ÄÒÕÇÏÅ ×ÏÚÒÁÖÅÎÉÅ: ÏÔÓÕÔÓÔ×ÉÅ ÂÁÌÁÎÓÁ ÓËÏÂÏË ×ÉÄÎÏ ÄÁÖÅ × KF>> ÒÅÄÁËÔÏÒÅ. AS> ëÏÇÄÁ ) É } ÐÏÈÏÖÉ - ÎÅÔ.

ñ ÓËÁÚÁÌ × ÒÅÄÁËÔÏÒÅ, Á ÎÅ × notepad.exe. õ ÍÅÎÑ, ÎÁÐÒÉÍÅÒ, ÔÁËÁÑ ÏÛÉÂËÁ ×ӣ ËÒÁÓÎÙÍ Ã×ÅÔÏÍ ÒÁÓÃ×ÅÞÉ×ÁÅÔ ÐÏÓÌÅ ÓÅÂÑ.

KF>> é ËÏÍÐÉÌÑÔÏÒÏÍ ÜÌÅÍÅÎÔÁÒÎÏ ÏÂÎÁÒÕÖÉ×ÁÅÔÓÑ. AS> ëÏÍÐÉÌÑÔÏÒ ÜÌÅÍÅÎÔÁÒÎÏ ÆÉÇÅÅÔ É ÉÝÅÔ ÂÌÉÖÁÊÛÕÀ "ÂÁÌÁÎÓÎÕÀ" ÓËÏÂËÕ. AS> þÔÏ ÐÒÉ ÓÒÅÄÎÅÊ ÓÌÏÖÎÏÓÔÉ ËÏÄÁ ÍÏÖÅÔ ÄÁÔØ ËÒÁÊÎÅ *×ÙÞÕÒÎÙÅ* ÒÅÚÕÌØÔÁÔÙ AS> (×ÐÌÏÔØ ÄÏ "ÈÁ-ÁÁÞÕ ÓËÏÂËÕ" × ÓÁÍÏÍ ËÏÎÃÅ ÆÁÊÌÁ).

HÕ ÔÁË ÅÓÔØ ÖÅ ÜÔÏ "ÈÁÁÞÕ ÓËÏÂËÕ". äÁÖÅ Ä×Å. é ÄÁÖÅ ÎÅ × ËÏÎÃÅ ÆÁÊÌÁ. á ×ÙÄÁ×ÁÔØ ÐÏ ÏÄÎÏÊ ÏÛÉÂËÅ ÚÁ ÒÁÚ ÞÔÏ, ÌÕÞÛÅ?

Join the Discussion

Have something to add? Share your thoughts — no account required.

Didn't find your answer?

Ask the community — no account required