WINAVR

Sep 05, 2005 Last reply: 20 years ago 816 Replies

DT>>>>> 'A'..'Z': Proc1(c); DT>>>>> '0'..'9','.',':': Proc2(c); KF>>>> ÷ GCC ÔÏÖÅ ÍÏÖÎÏ. DT>>> ïÎ ÞÔÏ, ÐÏÄÄÅÒÖÉ×ÁÅÔ ÎÅÓÔÁÎÄÁÒÔÎÙÊ ÄÉÁÌÅËÔ? ôÉÐÁ Turbo/Object DT>>> Pascal-Ñ ? :) KF>> GCC -- ÜÔÏ ÑÚÙË ÐÒÏÇÒÁÍÍÉÒÏ×ÁÎÉÑ ÔÁËÏÊ. HÕ ×ÒÏÄÅ ËÁË Microsoft visual KF>> C ÉÌÉ C-Builder. DT> á-Á. á Ñ ÄÕÍÁÌ, ÞÔÏ ÜÔÏ "Gnu Compilers Collection". ;)

äÁ ÍÁÌÏ ÌÉ ÞÔÏ ÇÄÅ ÎÁÐÉÓÁÎÏ...

DT>>>>> äÌÑ ÓÅÔÏ× ÅÓÔØ ÓÐÅÃÉÁÌØÎÙÊ ÏÐÅÒÁÔÏÒ in. ëÓÔÁÔÉ, × ÄÅÌØÆÉ ÄÏÂÁ×ÉÌÉ DT>>>>> Åݣ ÕÄÏÂÎÕÀ ÆÉÞÕ: ÉÓÐÏÌØÚÏ×ÁÎÉÅ in × ÏÐÅÒÁÔÏÒÅ for ÔÁËÉÍ ÏÂÒÁÚÏÍ: KF>>>> ÷ C ÅÓÔØ ÐÏÎÑÔÉÅ ÓÔÒÏËÁ DT>>> ëÁËÁÑ Ö ÔÏ ÓÔÒÏËÁ? :) KF>> HÕÌØ-ÔÅÒÍÉÎÉÒÏ×ÁÎÎÁÑ. DT> õÂÏÖÅÓÔ×Ï ÜÔÏ, Á ÎÅ ÓÔÒÏËÁ. ðÁÓËÁÌÅ×ÓËÉÅ ÓÔÒÏËÉ - ÜÔÏ ÄÁ.

üÔÏ -- ËÏÎÃÅÐÔÕÁÌØÎÙÊ ÍÉÎÉÍÁÌÉÚÍ. HÕÖÎÙ ÄÒÕÇÉÅ ÓÔÒÏËÉ -- ÂÅÒÉ ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÕÀ ÂÉÂÌÉÏÔÅËÕ.

DT> char. äÁ Åݣ É ÎÕÌØ-ÔÅÒÍÉÎÉÒÏ×ÁÎÎÙÊ. :) é ÏÐÅÒÁÃÉÉ ÎÁÄ ÜÔÉÍÉ ÏÂßÅËÔÁÍÉ DT> ×ÅÓØÍÁ DT> ÎÅÜÆÆÅËÔÉ×ÎÙ ÉÚ-ÚÁ ÏÔÓÕÔÓÔ×ÉÑ ÄÉÎÁÍÉÞÅÓËÏÊ ÄÌÉÎÙ. é ÎÅÕÄÏÂÎÙ ÉÚ-ÚÁ DT> ÏÔÓÕÔÓÔ×ÕÑ DT> ÈÏÔÑ ÂÙ ÏÐÅÒÁÔÏÒÁ ËÏÎËÁÔÅÎÁÃÉÉ.

÷ C Ë ÍÁÓÓÉ×ÁÍ ×ÏÏÂÝÅ ÏÐÅÒÁÔÏÒÙ ÎÅ ÐÒÉÍÅÎÉÍÙ. á ÆÕÎËÃÉÑ ÅÓÔØ. asprintf ÎÁÚÙ×ÁÅÔÓÑ. ( a := b + c; <=> a=asprinft("%s%s", b, c); )

DT>>> H-ÎÅ ÐÏÎÑÌ, ËÁË × ÓÔÒÏËÕ ÍÏÖÅÔ ×ÐÉÓÙ×ÁÔØÓÑ ÔÉÐ, ÒÅÁÌÉÚÁÃÉÑ ËÏÔÏÒÏÇÏ - DT>>> ÐÏÓÌÅÄÏ×ÁÔÅÌØÎÏÓÔØ ÂÉÔ É ÏÐÅÒÁÃÉÉ ÎÁÄ ËÏÔÏÒÙÍ ÒÅÁÌÉÚÕÀÔÓÑ ËÁË KF>> íÙÓÌÉÔØ ÛÉÒÛÅ ÎÁÄÏ, ÉÌÉ ÛÉÒÅÅ. íÎÏÖÅÓÔ×Ï ÍÏÖÅÔ ÂÙÔØ ÒÅÁÌÉÚÏ×ÁÎÏ ËÁË KF>> ÓÐÉÓÏË (ÂÁÊÔÏ×). DT> ïÄÎÏÓ×ÑÚÎÙÊ ÉÌÉ Ä×ÕÓ×ÑÚÎÙÊ? ;) á ÅÓÌÉ ËÁÖÄÏÍÕ ÜÌÅÍÅÎÔÕ ÍÎÏÖÅÓÔ×Á ÂÕÄÅÔ DT> ÓÏÏÔ×ÅÔÓÔ×Ï×ÁÔØ ÂÁÊÔ, ÔÏ ÜÔÏ ÔÏÌØËÏ PC ÐÏÔÑÎÅÔ, Ó ţ ÓÏÔÎÑÍÉ ÍÅÔÒÏ× ïúõ.

åÓÌÉ Õ ÔÅÂÑ ×Ï ÍÎÏÖÅÓÔ×Å ÓÏÔÎÉ ÍÉÌÌÉÏÎÏ× ÜÌÅÍÅÎÔÏ× -- ÔÏ ÐÁÓËÁÌØ ÔÏÞÎÏ ÎÅ ÐÏÔÑÎÅÔ.

AM> 1. ëÏÎÓÔÁÎÔÙ × ÑÚÙËÅ C ÉÍÅÀÔ ÔÉÐ. ôÁË 0 - ÜÔÏ ÃÅÌÁÑ ×ÏÓØÍÅÒÉÞÎÁÑ ËÏÎÓÔÁÎÔÁ AM> ÔÉÐÁ AM> int.

á ÐÏÞÅÍÕ ÓÏÂÓÔ×ÅÎÎÏ ×ÏÓØÍÅÒÉÞÎÁÑ? íÏÖÅÔ É ÄÅÓÑÔÉÞÎÁÑ. üÔÏ ÓÍÏÔÒÑ ËÁË ÏÐÒÅÄÅÌÑÅÔÓÑ ×ÏÓØÍÅÒÉÞÎÏÅ ÞÉÓÌÏ: 0[0-7]+ ÉÌÉ 0[0-7]*.
ðÒÉ×ÅÔ, Dmitry !

21 Oct 05 , 17:48 Dmitry Orlov ÐÉÓÁÌ Ë Dimmy Timchenko:

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

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

imho ËÏÒÅÎØ ÔÏÒÍÏÚÎÕÔÏÓÔÉ ÎÅ × ÏÐÔÉÍÉÚÁÃÉÉ, Á × ÐÒÅÐÒÏÃÅÓÓÉÎÇÅ: ÐÒÅÐÒÏÃÅÓÓÏÒÕ ÓÉÛÎÏÍÕ ÐÒÉÈÏÄÉÔÓÑ ÐÏÄÓÁÓÙ×ÁÔØ ×ÓÅ ÉÎËÌÀÄÎÉËÉ, ÐÁÒÓÉÔØ ÉÈ, ×ÓÔÁ×ÌÑÔØ ÉÎËÌÀÄÎÉËÉ, ÐÁÒÓÉÔØ... Á × ÐÁÓËÁÌÅ ÉÚ TPU/TPL ÉÚ×ÌÅËÁÀÔÓÑ ÕÖÅ "ÏÔÐÁÒÓÅÎÎÙÅ" ÚÁÇÏÌÏ×ËÉ, Ó ËÏÔÏÒÙÍÉ ÇÏÒÁÚÄÏ ÍÅÎØÛÅ ÄÅÊÓÔ×ÉÊ ÎÁÄÏ ÓÏ×ÅÒÛÁÔØ.

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

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

HÅ ÒÅËÏÍÅÎÄÕÅÔÓÑ ÐÏ ÏÞÅ×ÉÄÎÙÍ ÐÒÉÞÉÎÁÍ:

  • size_t -- âåúúHáëï÷ùë ôéð;

  • ÒÁÚÒÑÄÎÏÓÔÉ ÔÉÐÁ unsigned íïöåô âùôø HåäïóôáôïþHï ÄÌÑ ÓÏÈÒÁÎÅÎÉÑ ÒÁÚÍÅÒÁ ×ÙÄÁ×ÁÅÍÏÇÏ ÏÐÅÒÁÔÏÒÏÍ sizeof().

üÔÏ ÒÅÚÕÌØÔÁÔ ÏÐÔÉÍÉÚÁÃÉÉ, ËÏÇÄÁ int ÉÍÅÅÔ ÒÁÚÒÑÄÎÏÓÔØ ÒÅÇÉÓÔÒÏ× ü÷í. HÁÐÒÉÍÅÒ, i8086 -- sizeof(int) == 16 ÂÉÔ. sizeof ÞÅÇÏ-ÎÉÂÕÄØ ×ÐÏÌÎÅ ÍÏÖÅÔ ÄÏÈÏÄÉÔØ ÄÏ ÍÅÇÁÂÁÊÔÁ. ÷ÐÒÏÞÅÍ, ÜÔÏ ËÏÍÐÉÌÑÔÏÒÏ-ÚÁ×ÉÓÉÍÏ. ôÏÌØËÏ ÎÅ ÎÁÄÏ ÇÏ×ÏÒÉÔØ, ÍÏÌ ËÁË × ÐÁÓËÁÌÅ ×ÓÅÇÄÁ ÌÕÞÛÅ. âÙÌ ÂÙ int ÉÚÎÁÞÁÌØÎÏ *É* *ÔÏÌØËÏ* 16-ÂÉÔÎÙÍ ÑÚÙË C ÄÁ×ÎÏ ÂÙ ÏÔÐÒÁ×ÉÌÓÑ ÔÕÄÁ ËÕÄÁ É ÐÁÓËÁÌØ. á ÔÁË ÕÓÐÅÛÎÏ ÉÓÐÏÌØÚÕÅÔÓÑ ÎÁ ÒÁÚÎÙÈ ÐÌÁÔÆÏÒÍÁÈ ÏÔ ÓÏ×ÓÅÍ ÍÅÌËÉÈ ËÏÎÔÒÏÌÌÅÒÏ× ÄÏ AMD64. þÔÏ ÎÅ ÒÅËÏÍÅÎÄÕÅÔÓÑ -- ÔÁË ÜÔÏ ÉÓÐÏÌØÚÏ×ÁÔØ ÎÅÐÏÄÈÏÄÑÝÉÅ ÓÁÍÏÄÅÌØÎÙÅ ÔÉÐÙ ×ÍÅÓÔÏ int. é ÎÅ ÉÓÐÏÌØÚÏ×ÁÔØ long ÔÁÍ ÇÄÅ ÎÕÖÅÎ 32-ÒÁÚÒÑÄÎÙÊ int.

DT>>> ??? á ËÁËÁÑ ÒÁÚÎÉÃÁ, ÏÔËÕÄÁ ÂÒÁÔØ ÆÕÎËÃÉÀ ÉÌÉ ËÌÁÓÓ? üÔÏ ÕÖÅ ÇÌÀËÉ DT>>> ËÏÎËÒÅÔÎÏÇÏ ÌÉÎËÏ×ÝÉËÁ ÉÌÉ obj-ÆÏÒÍÁÔÁ, ÅÓÌÉ smart linking ÏÎ ÕÍÅÅÔ DT>>> ÔÏÌØËÏ ÉÚ ÆÁÊÌÁ-"ÂÉÂÌÉÏÔÅËÉ". IAR-Ï×ÓËÉÊ, ÎÁÓËÏÌØËÏ Ñ ÚÎÁÀ, ÄÅÌÁÅÔ DT>>> smart link ÂÅÚ ÉÓÐÏÌØÚÏ×ÁÎÉÑ ÆÁÊÌÏ×-ÂÉÂÌÉÏÔÅË.

çÌÀËÉ ÓÞÉÔÁÔØ ÆÉÞÁÍÉ. éÂÏ ÏÞÅ×ÉÄÎÏ, ÞÔÏ ÐÒÉ ÆÏÒÍÉÒÏ×ÁÎÉÉ ÂÉÂÌÉÏÔÅËÉ, ÎÁÐÒÉÍÅÒ, ÎÅÉÚ×ÅÓÔÎÏ ÞÔÏ ÍÏÖÎÏ ×ÙËÉÎÕÔØ, Á ÞÔÏ ÎÅÔ.

Hello, Nickita A Startcev! You wrote in conference fido7.ru.embedded to Dmitry Orlov on Fri, 21 Oct 2005 15:01:30

+0400:

DT>>>>> Вот в BP/VP/FP etc с компилятором поставляется RTL - Runtime DT>>>>> Library, куча полезных юнитов (это что-то вроде файла-библиотеки). :)

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

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

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

NA> файлы, сокеты, унихтайм всякий - это у процессора? :)

Это в библиотеке, а не в rtl. RTL - это именно то, что я сказал - поддержка компилятора для нереализуемых аппаратно типов и некоторых конструкций. То, без чего скомпилированный код работать не будет.

dima

formatting link

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

+0400:

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

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

DT> Hу, стандартный язык - это, пожалуй, только Ада... ;) DT> Впрочем, C - тоже стандарт ad hoc de facto. :)

На Паскаль тоже есть стандарт, другое дело, что Борланд его не придерживается ни разу.

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

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

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

DT> Для PC это не так важно.

Достаточно важно. Именно от этого в программах на ТР столько встроенного и невстроенного асма.

DT> Тут важнее ООП-щиной не увлекаться.

А она-то чем тебе не угодила? Сама по себе на х86 она большого оверхеда не дает.

DO>> Да и язык более простой, чем С.

DT> Правильно, более простой, понятный и продуманный.

Нет, просто более простой и менее выразительный. В продуманный язык не суют ввод-вывод, как языковое средство. В продуманный язык не суют два механизма работы с динамической памятью. И многие другие вещи.

DT> Хотя и нагруженный всякими рюшечками для удобства.

Причем выбор этих рюшечек весьма странен.

dima

formatting link

Hello, Dimmy Timchenko! You wrote in conference fido7.ru.embedded to Dmitry Orlov on Fri, 21 Oct 2005 22:56:17

+0400:

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

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

DT> Hу применить inline-функцию. Да и непосредственное обращение DT> к регистрам можно инкапсулировать.

Например как? Да и может просто не быть С++.

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

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

DT> С фон-Hеймановской и Гарвардской, как и все мы. :)

А конкретно?

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

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

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

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

DT> А это как раз такие навороченные макросы. Статический DT> полиморфизм.

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

DO>> Это еще с каких дел? Компилируется-то развернутый DO>> макропроцессором код.

DT> Который обычно не виден...

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

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

DT> И это тоже.

DT> Hет, макросы я предпочитаю в ассемблере.

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

dima

formatting link

Hello, Nickita A Startcev! You wrote in conference fido7.ru.embedded to Dmitry Orlov on Sat, 22 Oct 2005 00:12:36

+0400:

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

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

NA> imho корень тормознутости не в оптимизации, а в NA> препроцессинге: препроцессору сишному приходится подсасывать NA> все инклюдники, парсить их, вставлять инклюдники, парсить... а NA> в паскале из TPU/TPL извлекаются уже "отпарсенные" NA> заголовки, с которыми гораздо меньше действий надо совершать.

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

dima

formatting link

Hello Nickita.

Fri Oct 21 2005 15:38, Nickita A Startcev wrote to me:

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

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

óÁÍÁ ÉÄÅÑ ÎÅ ÏÞÅÎØ ÈÏÒÏÛÁÑ - ÚÁ×ÑÚÙ×ÁÔØÓÑ ÎÁ ÒÁÚÒÑÄÎÏÓÔØ, ÎÏ ÌÉÞÎÏ Ñ × ÔÁËÉÈ ÓÌÕÞÁÑÈ ÐÒÅÄÐÏÞÉÔÁÀ byte, word. ðÒÉ×ÙÞÎÅÅ ÄÌÑ ÐÁÓËÁÌÉÓÔÁ. ;) á ÄÌÑ ÔÉÐÏ×, "ÐÒÉÂÌÉ֣ÎÎÙÈ Ë ÐÒÅÄÍÅÔÎÏÊ ÏÂÌÁÓÔÉ" ÌÕÞÛÅ ×ÙÂÉÒÁÔØ É ÐÒÅÄÍÅÔÎÙÅ ÉÍÅÎÁ, ×ÒÏÄÅ Temperature ÉÌÉ Voltage. éÌÉ ÔÏÔ ÖÅ size_t, ÉÌÉ ÒÁÚÎÙÅ ÈÉÔÒÙÅ ÔÉÐÙ Win32 API, ËÏÔÏÒÙÅ ÞÁÝÅ ×ÓÅÇÏ Ó×ÏÄÑÔÓÑ Ë long ÉÌÉ *void.

Dimmy.

Hello Kirill.

Sat Oct 22 2005 00:49, Kirill Frolov wrote to Andrey Solomatov:

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

åÓÌÉ ËÏÍÐÉÌÑÔÏÒ ÂÙÓÔÒÙÊ - ÔÏ ÌÕÞÛÅ. óÒÁÚÕ ÓÔÁ×ÉÔ ËÕÒÓÏÒ ÎÁ ÐÒÅÄÐÏÌÁÇÁÅÍÏÅ ÍÅÓÔÏ ÏÛÉÂËÉ, ÉÓÐÒÁ×ÌÑÅÛØ, ËÏÍÐÉÌÉÛØ ÄÁÌØÛÅ. ôÁË BP ÄÅÌÁÌ.

Dimmy.

Hello Dmitry.

Sat Oct 22 2005 01:21, Dmitry Orlov wrote to Nickita A Startcev:

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

DO> üÔÏ × ÂÉÂÌÉÏÔÅËÅ, Á ÎÅ × rtl.

á RTL - ÜÔÏ Run Time Library. :)

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

á ÏÔËÕÄÁ ÔÁËÁÑ ÄÅÆÉÎÉÃÉÑ?

Dimmy.

Hello Kirill.

Sat Oct 22 2005 00:54, Kirill Frolov wrote to me:

KF>>> GCC -- ÜÔÏ ÑÚÙË ÐÒÏÇÒÁÍÍÉÒÏ×ÁÎÉÑ ÔÁËÏÊ. HÕ ×ÒÏÄÅ ËÁË Microsoft KF>>> visual C ÉÌÉ C-Builder.

DT>> á-Á. á Ñ ÄÕÍÁÌ, ÞÔÏ ÜÔÏ "Gnu Compilers Collection". ;)

KF> äÁ ÍÁÌÏ ÌÉ ÞÔÏ ÇÄÅ ÎÁÐÉÓÁÎÏ...

ìÀÂÏÐÙÔÎÏ. é ÇÄÅ ÍÏÖÎÏ ÐÏÞÉÔÁÔØ ÐÒÏ ÅÇÏ ÓÐÅÃÉÆÉÞÅÓËÉÅ ÒÁÓÛÉÒÅÎÉÑ?

DT>> õÂÏÖÅÓÔ×Ï ÜÔÏ, Á ÎÅ ÓÔÒÏËÁ. ðÁÓËÁÌÅ×ÓËÉÅ ÓÔÒÏËÉ - ÜÔÏ ÄÁ.

KF> üÔÏ -- ËÏÎÃÅÐÔÕÁÌØÎÙÊ ÍÉÎÉÍÁÌÉÚÍ. HÕÖÎÙ ÄÒÕÇÉÅ ÓÔÒÏËÉ -- ÂÅÒÉ KF> ÓÏÏÔ×ÅÔÓÔ×ÕÀÝÕÀ ÂÉÂÌÉÏÔÅËÕ.

HÕ, × ÏÂÝÅÍ, ÄÁ, × C++ ÜÔÏ ÕÖÅ ÍÏÖÎÏ.

DT>> char. äÁ Åݣ É ÎÕÌØ-ÔÅÒÍÉÎÉÒÏ×ÁÎÎÙÊ. :) é ÏÐÅÒÁÃÉÉ ÎÁÄ ÜÔÉÍÉ DT>> ÏÂßÅËÔÁÍÉ ×ÅÓØÍÁ ÎÅÜÆÆÅËÔÉ×ÎÙ ÉÚ-ÚÁ ÏÔÓÕÔÓÔ×ÉÑ ÄÉÎÁÍÉÞÅÓËÏÊ ÄÌÉÎÙ. é DT>> ÎÅÕÄÏÂÎÙ ÉÚ-ÚÁ ÏÔÓÕÔÓÔ×ÕÑ ÈÏÔÑ ÂÙ ÏÐÅÒÁÔÏÒÁ ËÏÎËÁÔÅÎÁÃÉÉ.

KF> ÷ C Ë ÍÁÓÓÉ×ÁÍ ×ÏÏÂÝÅ ÏÐÅÒÁÔÏÒÙ ÎÅ ÐÒÉÍÅÎÉÍÙ.

÷ ðÁÓËÁÌÅ ÔÏÖÅ. HÏ ÐÁÓËÁÌÅ×ÓËÁÑ ÓÔÒÏËÁ - ÎÅ ÍÁÓÓÉ×, Á ÓÐÅÃÉÁÌØÎÁÑ ÆÉÞÁ ÄÌÑ ÕÄÏÂÓÔ×Á. é ÄÅÊÓÔ×ÉÔÅÌØÎÏ, ÏÞÅÎØ ÕÄÏÂÎÏ! é ÂÏÌÅÅ ÎÁÇÌÑÄÎÏ, ÞÅÍ printf. ëÓÔÁÔÉ, ÖÁÌØ, ÞÔÏ ÎÉ × C/C++, ÎÉ × ðÁÓËÁÌÅ ÎÅÔ, ÎÁÐÒÉÍÅÒ, ÁÇÒÅÇÁÔÏ× ÉÌÉ ÉÍÅÎÏ×ÁÎÎÙÈ ÐÁÒÁÍÅÔÒÏ×. á ×ÅÄØ ÕÄÏÂÎÏ ÂÙÌÏ ÂÙ ÎÁÐÉÓÁÔØ, ÎÁÐÒÉÍÅÒ: [x,y] = some_func (a, b);

KF> á ÆÕÎËÃÉÑ ÅÓÔØ. asprintf ÎÁÚÙ×ÁÅÔÓÑ. ( a := b + c; <=>

KF> a=asprinft("%s%s", b, c); )

üÔÏ ÕÖÅ ÎÅ ÍÉÎÉÍÁÌÉÚÍ, ÜÔÏ ÄÅËÏÎÓÔÒÕËÔÉ×ÉÚÍ. ;) ëÁË É ×ÏÏÂÝÅ ÉÄÅÑ printf: ÌÏÂÏ×ÁÑ, ÎÅÕÄÏÂÎÁÑ, ÎÅÎÁÇÌÑÄÎÁÑ, ÎÅÂÅÚÏÐÁÓÎÁÑ.

DT>> ïÄÎÏÓ×ÑÚÎÙÊ ÉÌÉ Ä×ÕÓ×ÑÚÎÙÊ? ;) á ÅÓÌÉ ËÁÖÄÏÍÕ ÜÌÅÍÅÎÔÕ ÍÎÏÖÅÓÔ×Á DT>> ÂÕÄÅÔ ÓÏÏÔ×ÅÔÓÔ×Ï×ÁÔØ ÂÁÊÔ, ÔÏ ÜÔÏ ÔÏÌØËÏ PC ÐÏÔÑÎÅÔ, Ó ţ ÓÏÔÎÑÍÉ DT>> ÍÅÔÒÏ× ïúõ.

KF> åÓÌÉ Õ ÔÅÂÑ ×Ï ÍÎÏÖÅÓÔ×Å ÓÏÔÎÉ ÍÉÌÌÉÏÎÏ× ÜÌÅÍÅÎÔÏ× -- ÔÏ ÐÁÓËÁÌØ ÔÏÞÎÏ KF> ÎÅ ÐÏÔÑÎÅÔ.

ïÎ ÂÏÌØÛÅ, ÞÅÍ 256 ÎÅ ÔÑÎÅÔ. HÏ ÂÏÌØÛÅ ËÁË-ÔÏ É ÎÅ ÔÒÅÂÏ×ÁÌÏÓØ ÎÉËÏÇÄÁ.

Dimmy.

Hello Kirill.

Sat Oct 22 2005 01:14, Kirill Frolov wrote to me:

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

KF> HÅ ÒÅËÏÍÅÎÄÕÅÔÓÑ ÐÏ ÏÞÅ×ÉÄÎÙÍ ÐÒÉÞÉÎÁÍ:

KF> * size_t -- âåúúHáëï÷ùë ôéð;

á ÞÔÏ, ÒÁÚÍÅÒ ÂÙ×ÁÅÔ ÏÔÒÉÃÁÔÅÌØÎÙÍ? :)

KF> * ÒÁÚÒÑÄÎÏÓÔÉ ÔÉÐÁ unsigned íïöåô âùôø HåäïóôáôïþHï ÄÌÑ KF> ÓÏÈÒÁÎÅÎÉÑ ÒÁÚÍÅÒÁ ×ÙÄÁ×ÁÅÍÏÇÏ ÏÐÅÒÁÔÏÒÏÍ sizeof().

ôÁË × ÔÏÍ-ÔÏ É ÄÅÌÏ, ÞÔÏ ÏÐÒÅÄÅÌÑÅÛØ ÔÙ ÐÏÄÏÂÎÙÅ ÔÉÐÙ ÉÓÈÏÄÑ ÎÅ ÉÚ ÒÁÚÒÑÄÎÏÓÔÉ ÐÒÏÃÅÓÓÏÒÁ, Á ÉÚ ÒÁÚÍÅÒÏ× ÉÓÐÏÌØÚÕÅÍÙÈ ÓÔÒÕËÔÕÒ ÄÁÎÎÙÈ. íÁÌÏ uint - ÂÅÒÉ ulong. "ðÒÁ×ÉÌØÎÏÓÔØ" × ÔÏÍ, ÞÔÏ ÏÐÒÅÄÅÌÑÅÛØ É ÍÅÎÑÅÛØ ÔÙ ÜÔÏÔ ÔÉÐ × ÏÄÎÏÍ ÍÅÓÔÅ, Á ÎÅ ÐÏ ×ÓÅÊ ÐÒÏÇÒÁÍÍÅ.

KF> üÔÏ ÒÅÚÕÌØÔÁÔ ÏÐÔÉÍÉÚÁÃÉÉ, ËÏÇÄÁ int ÉÍÅÅÔ ÒÁÚÒÑÄÎÏÓÔØ ÒÅÇÉÓÔÒÏ× ü÷í.

ôÏ-ÔÏ É ÏÎÏ.

Dimmy.

Hello Nickita.

22 Oct 05 01:12, you wrote to Dmitry Orlov:

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

NS> imho ËÏÒÅÎØ ÔÏÒÍÏÚÎÕÔÏÓÔÉ ÎÅ × ÏÐÔÉÍÉÚÁÃÉÉ, Á × ÐÒÅÐÒÏÃÅÓÓÉÎÇÅ: NS> ÐÒÅÐÒÏÃÅÓÓÏÒÕ ÓÉÛÎÏÍÕ ÐÒÉÈÏÄÉÔÓÑ ÐÏÄÓÁÓÙ×ÁÔØ ×ÓÅ ÉÎËÌÀÄÎÉËÉ, ÐÁÒÓÉÔØ NS> ÉÈ, ×ÓÔÁ×ÌÑÔØ ÉÎËÌÀÄÎÉËÉ, ÐÁÒÓÉÔØ... Á × ÐÁÓËÁÌÅ ÉÚ TPU/TPL NS> ÉÚ×ÌÅËÁÀÔÓÑ ÕÖÅ "ÏÔÐÁÒÓÅÎÎÙÅ" ÚÁÇÏÌÏ×ËÉ, Ó ËÏÔÏÒÙÍÉ ÇÏÒÁÚÄÏ ÍÅÎØÛÅ NS> ÄÅÊÓÔ×ÉÊ ÎÁÄÏ ÓÏ×ÅÒÛÁÔØ.

üÔÏ ÏÞÅÎØ ÄÁ×ÎÏ É ÕÓÐÅÛÎÏ ÌÅÞÉÔÓÑ precompiled headers

Dmitry

Hello Dmitry.

Sat Oct 22 2005 03:35, Dmitry Orlov wrote to me:

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

DO> HÁ ðÁÓËÁÌØ ÔÏÖÅ ÅÓÔØ ÓÔÁÎÄÁÒÔ, ÄÒÕÇÏÅ ÄÅÌÏ, ÞÔÏ âÏÒÌÁÎÄ ÅÇÏ ÎÅ DO> ÐÒÉÄÅÒÖÉ×ÁÅÔÓÑ ÎÉ ÒÁÚÕ.

óÔÁÎÄÁÒÔÎÙÊ ðÁÓËÁÌØ - ÑÚÙË ÄÌÑ ÏÂÕÞÅÎÉÑ, ÄÌÑ ÐÒÁËÔÉÞÅÓËÏÊ ÒÁÂÏÔÙ ÍÁÌÏÐÒÉÇÏÄÎÙÊ.

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

DT>> äÌÑ PC ÜÔÏ ÎÅ ÔÁË ×ÁÖÎÏ.

DO> äÏÓÔÁÔÏÞÎÏ ×ÁÖÎÏ. éÍÅÎÎÏ ÏÔ ÜÔÏÇÏ × ÐÒÏÇÒÁÍÍÁÈ ÎÁ ôò ÓÔÏÌØËÏ DO> ×ÓÔÒÏÅÎÎÏÇÏ É ÎÅ×ÓÔÒÏÅÎÎÏÇÏ ÁÓÍÁ.

äÁ ÎÅÔ, ÎÅ ÐÏÔÏÍÕ. á ÏÔ ×ÒÅͣÎ 386/486.

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

DO> á ÏÎÁ-ÔÏ ÞÅÍ ÔÅÂÅ ÎÅ ÕÇÏÄÉÌÁ? óÁÍÁ ÐÏ ÓÅÂÅ ÎÁ È86 ÏÎÁ ÂÏÌØÛÏÇÏ Ï×ÅÒÈÅÄÁ ÎÅ DO> ÄÁÅÔ.

äÅÒÅ×ØÑ ×ÉÒÔÕÁÌØÎÙÈ ËÌÁÓÓÏ×, ËÁË Ñ ÐÏÎÑÌ, ÌÉÎËÕÀÔÓÑ ÃÅÌÉËÏÍ - ÐÏÔÏÍÕ ËÁË ÓÓÙÌËÉ ÒÁÚÒÅÛÁÀÔÓÑ ×Ï ×ÒÅÍÑ ×ÙÐÏÌÎÅÎÉÑ. üÔÏ ÂÙÌÏ ÐÏÄÒÏÂÎÏ ÒÁÓÐÉÓÁÎÏ × readme Ë ÂÉÂÌÉÏÔÅËÅ KOL/MCK, ÎÏ Ñ ÏÓÏÂÏ ×ÒÕÂÉÔØÓÑ ÎÅ ÓÔÁÒÁÌÓÑ.

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

DT>> ðÒÁ×ÉÌØÎÏ, ÂÏÌÅÅ ÐÒÏÓÔÏÊ, ÐÏÎÑÔÎÙÊ É ÐÒÏÄÕÍÁÎÎÙÊ.

DO> HÅÔ, ÐÒÏÓÔÏ ÂÏÌÅÅ ÐÒÏÓÔÏÊ É ÍÅÎÅÅ ×ÙÒÁÚÉÔÅÌØÎÙÊ.

HÕ É ÞÅÇÏ ÎÁ ÐÁÓËÁÌÅ ÎÅÌØÚÑ ×ÙÒÁÚÉÔØ, ÞÔÏ ÍÏÖÎÏ ÎÁ C? :) ðÏ ×ÙÒÁÚÉÔÅÌØÎÏÓÔÉ ÏÎÉ ÇÄÅ-ÔÏ ÂÌÉÚËÉ: × ÏÄÎÏÍ ÅÓÔØ, ÎÁÐÒÉÍÅÒ, ÏÐÅÒÁÃÉÉ ÐÒÉÓ×ÁÉ×ÁÎÉÑ É ÐÒÅÄ/ÐÏÓÔÉÎËÒÅÍÅÎÔ, ÚÁÔÏ × ÄÒÕÇÏÍ - ÐÁÒÁÍÅÔÒÙ-ÓÓÙÌËÉ, ÓÔÒÏËÉ, ÄÉÁÐÁÚÏÎÙ, ÓÅÔÙ, with, ÍÏÄÕÌÉ. :)

á ×ÏÔ ÚÁÔÏ ÐÏ ÞÉÔÁÅÍÏÓÔÉ ðÁÓËÁÌØ ÄÁÌÅËÏ ÐÒÅ×ÏÓÈÏÄÉÔ C.

DO> ÷ ÐÒÏÄÕÍÁÎÎÙÊ ÑÚÙË ÎÅ ÓÕÀÔ ××ÏÄ-×Ù×ÏÄ, ËÁË ÑÚÙËÏ×ÏÅ ÓÒÅÄÓÔ×Ï. ÷ DO> ÐÒÏÄÕÍÁÎÎÙÊ ÑÚÙË ÎÅ ÓÕÀÔ Ä×Á ÍÅÈÁÎÉÚÍÁ ÒÁÂÏÔÙ Ó ÄÉÎÁÍÉÞÅÓËÏÊ ÐÁÍÑÔØÀ. DO> é ÍÎÏÇÉÅ ÄÒÕÇÉÅ ×ÅÝÉ.

úÄÅÓØ ÏÎÉ Ó C ÐÒÉÍÅÒÎÏ × ÒÁ×ÎÙÈ ÕÓÌÏ×ÉÑÈ. ÷ ÐÒÏÄÕÍÁÎÎÙÊ ÑÚÙË ÎÅ ÓÕÀÔ ÔÁËÏÅ ÕÒÏÄÓÔ×Ï, ËÁË printf. äÁ É ÕËÁÚÁÔÅÌÉ ÎÅ ÓÕÀÔ ÚÁÔÙÞËÏÊ ×Ï ×ÓÅ ÄÙÒËÉ. :)

Dimmy.

Hello Dmitry.

Sat Oct 22 2005 03:51, Dmitry Orlov wrote to Nickita A Startcev:

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

åÓÌÉ "ÑÚÙË ÐÒÏÝÅ" ÏÔÎÏÓÉÔÓÑ ÄÅÊÓÔ×ÉÔÅÌØÎÏ Ë ÑÚÙËÕ, ÔÏ "ÎÅÔ ÏÐÔÉÍÉÚÁÃÉÉ" - Ë ËÏÎËÒÅÔÎÏÍÕ ËÏÍÐÉÌÑÔÏÒÕ.

Dimmy.

Hello George.

Fri Oct 21 2005 22:50, George Shepelev wrote to me:

GS>>> ÷ÏÎ, Õ PIC'Ï× ×ÏÏÂÝÅ ÔÏÌØËÏ Ó ÎÏÖÅË ÓÏÓÔÏÑÎÉÅ ÐÏÒÔÏ× ÞÉÔÁÅÔÓÑ, É GS>>> ÎÉÞÅÇÏ, ÎÁÒÏÄ ÎÅ ÖÁÌÕÅÔÓÑ. DT>> ðÒÁ×ÉÌØÎÏ, ÚÎÁÞÉÔ ÎÁÄÏ ÉÓÐÏÌØÚÏ×ÁÔØ ÑÞÅÊËÕ ÐÁÍÑÔÉ ÄÌÑ ÐÏÄÏÂÎÏÇÏ DT>> ÓÄ×ÉÇÏ×ÏÇÏ ÒÅÇÉÓÔÒÁ.

GS> äÁÖÅ ÅÓÌÉ ÜÔÏ ÒÅÚËÏ ÓÎÉÚÉÔ ÜÆÆÅËÔÉ×ÎÏÓÔØ? ðÅÒÅÞÉÔÁÊ, ÞÔÏ ÓÁÍ ÎÁÐÉÓÁÌ GS> ÞÕÔØ ÒÁÎØÛÅ...

ôÁÍ ×ÏÏÂÝÅ-ÔÏ ÒÅÞØ Ï ÓËÁÎÉÒÏ×ÁÎÉÉ ËÌÁ×ÉÁÔÕÒÙ ÛÌÁ, ÎÜ? :) ëÁËÁÑ ÔÁÍ, Ë ÍÏÎÁÈÁÍ, ÜÆÆÅËÔÉ×ÎÏÓÔØ? ÷ÏÔ ÅÓÌÉ ÐÁÍÑÔÉ ÎÅ È×ÁÔÁÅÔ - ÄÒÕÇÏÅ ÄÅÌÏ.

Dimmy.

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

+0400:

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

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

DT> Вах, а ты и это пытался? Уважаю. :)

Пытался, и даже делал. Делал на Stony Brook Pascal, распотрошив и переделав ему rtl. Из ТР ничего не получилось, хотя после того, как появились декомпилированные его сорцы, я делал на его основе генератор отчетов к другой программе. То есть генератор писался на паскале, компилировался модифицированным tpc, и исполнялся изнутри другой программы как некий плагин. Вобщем я через много всяких извращений прошел и оценил на сколько на С все это проще получается. Но отчасти мне самому Паскаль нравился больше, отчасти заказчики наши не хотели никакого С.

dima

formatting link

Join the Discussion

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

Didn't find your answer?

Ask the community — no account required