|
|
  |
Pascal для AVR |
|
|
|
Dec 13 2008, 16:39
|

Нечётный пользователь.
     
Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417

|
Цитата(gotty @ Dec 11 2008, 13:54)  Боюсь Вас огорчить, но я даже не буду пытаться. Языки слишком разные, паскаль для программиста дружелюбнее, а си для - целевого железа. Если хотите меряться строками динамической длинны - вам к С++. В этой задаче в этой формулировке "истинные" строки не нужны, достаточно маленкого буфера фиксированной длины (проверки на наличие файла в паскалевском варианте этого в явном виде не было, как оно себя без файла - не знаю). Код #include <stdio.h>
int main() { char buf[32]; FILE *pf = fopen("1.txt", "rt"); if( pf) { while( fgets(buf, 31, pf) ) { fputs(buf, stdout); } fclose(pf); } return 0; } Поскольку на таком буфере выданный наружу 1-килобайтный файл посимвольно совпал с файлом 1.txt - проверять на многомегабайтном файле смысла не вижу. Длина exe-шника - традиционные для моего mingw32-gcc 6144 байта (весь рантайм в msvcrt.dll, а своего кода меньше, чем надо для того, чтобы вылезти за выравнивание формата файла exe). Цитата(ARV @ Dec 11 2008, 13:46)  ваш ход!  Ну вот он. Правда, он не упирается в строку из одного символа перевода строки, но этого из _текстового_ условия и не следовало, только из кода на паскале :-) Да, кстати, скомпилированный turboC 2.0 exe - 7544 байт. Работает в точности так же, как и 32-битный exe от mingw32-gcc (а это уже относится к немцам к разговорам о переносимости между 16-бытними и 32-битными системами). Ваш же исходник, скомпилированный даже гораздо более "свежим" BP7/dos, хоть и занял 2304 байта, но радостно копирует первые 255 байт и всё. Потому, что стоит readln/writeln и первое же чтение пропускает всё до конца файла (он, кстати, сделан так, что символа новой строки не содержит вообще  ). С read/write работает нормально, но это уже не Ваш исходник :-), "абстрактно" рассчитанный на "строки у нас правильные" 32-битный счётчик символов в начале строки, а не на 8-битный.
--------------------
Ну, я пошёл… Если что – звоните…
|
|
|
|
|
Dec 13 2008, 16:39
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(Огурцов @ Dec 13 2008, 19:01)  Или можете привести такое же для паскаля ? Давайте, вместе посмеемся. Двавайте. Поскольку Вы не сможете скомпилировать свой пример, который, как Вы утверждаете, написан на Си, то я уже давно грустно смеюсь над дуростью. Даже сквозь отсутствие форматирования (язык Си ведь не заставляет писать неформатированные тексты?), и однобуквенные названия функций( язык Си понимает и осмысленые имена), и просто бредовый повтояющийся (фантазии совсем-совсем не хватило?) набор манипуляций с указателем передаваеммым некой функции, видно минимум три несовместимых с языком ошибки. Более подробно о том, что это за "пример на C", Вам расскжет любой компилятор. На таком уровне и я могу написать любой набор символов и сказать, что это Паскаль. Компилятор паскаля его не поймет, но разве это имеет какое-то значение для Вас  ? Вы, как выяснилось, можете смеяться и без всякой причины.
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Dec 13 2008, 16:48
|
Гуру
     
Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588

|
Цитата(zltigo @ Dec 13 2008, 16:39)  Поскольку Вы не сможете скомпилироваь свой пример Во-первых, я знаю, во-вторых - он не _мой_. Но нечто подобное и компилируемое написать вполне возможно. Цитата(zltigo @ Dec 13 2008, 16:39)  На таком уровне и я могу написать любой набор символов и сказать, что это Паскаль. Давайте. Сравним читаемость "кода".
|
|
|
|
|
Dec 13 2008, 17:10
|

Нечётный пользователь.
     
Группа: Свой
Сообщений: 2 033
Регистрация: 26-05-05
Из: Бровари, Україна
Пользователь №: 5 417

|
Цитата(ARV @ Dec 11 2008, 14:02)  хоть я от вас и не слышал утверждения, что Паскаль хуже Си (или С++), прошу вас высказаться: вы так же считаете, что ХУЖЕ? или все-таки согласны, что ПАСКАЛЬ не хуже, не лучше, а такой же, просто иной язык. Хоть вопрос и не ко мне - так в том-то и дело, что как только среднестатистический "паскалист" начинает говорить о С, то он сразу начинает с яростных "наездов" на синтаксис/отсутствие проверок/пропускание ошибок/..., с тупых примеров, аналогичных приведенному, с того, что С - "птичий" write-only язык и т.п., при этом обижаясь на аналогичные по сути "наезды"на паскаль, но уж себя-то считая объективным и хладнокровными. Так что не надо говорить, что "односторонне неуравновешенные специалисты нервно холиварят про паскаль". Просто, как тут уже говорилось, "С-шников" больше - поэтому когда они хором отвечают, то кажется, что они "неуравновешеннее". А нефиг бросать гранату в штабель ящиков с точно такими же гранатами, только покрашенными в другой цвет. Цитата(ARV @ Dec 12 2008, 11:09)  я и не говорю, что кривость рук исправляет компилятор... но на остальное-то вы обратили внимание? был бы компилятор построже Это Вы о чём? О том, что Ваш исходник со строкой и readln/writeln , скомпилированный "компилятором построже" BC7 работает совершенно не так, как он же, скомпилированный дельфями или чем там? Абстракция "правильных строк" оказалась-то дырявой и "расслабиться" позволяет не только С...
--------------------
Ну, я пошёл… Если что – звоните…
|
|
|
|
|
Dec 13 2008, 17:52
|

Гуру
     
Группа: Свой
Сообщений: 13 372
Регистрация: 27-11-04
Из: Riga, Latvia
Пользователь №: 1 244

|
Цитата(Огурцов @ Dec 13 2008, 19:48)  Во-первых, я знаю.... Знаете/Не знаете этого уже я не знаю и мне безразлично. Но, если действительно знаете, то все еще хуже  , ибо сознательные подтасовки хуже натуральной дурости. Цитата(Огурцов @ Dec 13 2008, 19:48)  Давайте. Сравним читаемость "кода". Легко. Это доведенный (речь идет не о безумных манипуляциях, а о только минимальном форматировании, и назначении неких "осмысленных" имен и исправлении явных синтаксических ошибок дабы откомпилировать ) исходник Вашей любимой псевдосишной фиговины. Код for(; function( a_string ).found; function( b_string ) ) { for( index = 0x3DC; index; function( c_string + (*selector++ / 8) % 2 ) ) function( d_string + (*selector / 4 ) % 2 ); } Напишите сие на Паскале. Посмотрим, будет-ли эта Ваша ГАЛИМАТЬЯ хоть сколь-нибудь более читаемой на Паскале. Ремарка. Не удержался. За такое: Код function( d_string + (*selector / 4 ) % 2 ); надо бить по голове отдельно, ибо безмозгло и нечитабельно дважды используюется деление вместо банального анализа бита: Код function( (*selector & BIT3) ? d_string + 1 : d_string );
--------------------
Feci, quod potui, faciant meliora potentes
|
|
|
|
|
Dec 13 2008, 21:04
|
Местный
  
Группа: Участник
Сообщений: 205
Регистрация: 8-03-05
Пользователь №: 3 146

|
Цитата А что-то вроде Borland->Inprice-> Borland->Inprice - ИМХО переименование, потом они вернулись к старому имени, т.е. не продажа.
|
|
|
|
|
Dec 13 2008, 21:22
|
Гуру
     
Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588

|
Цитата(XVR @ Dec 13 2008, 19:56)  Кто нибудь может сказать, почему несмотря на весь 'феерический' успех Borland продал всю эту Дельфи со всеми потрохами фирме Embarcadero Technologies? Не знаю уже, кто там кому что продал, но на мой взгляд проблема вызвана выпуском MS FrameWork и C#. После чего борланд бросился догонять m$, поступил подло, закрыв линию delphi 7.0, и выпустил delphi 8.0. Что есть принципиально иной продукт со всех точек зрения, в т.ч. и по совместимости/переносимости исходников. Прогать на пародии естественно не эстетично, поэтому вряд ли многие прогеры перешли на D8. Кто-то видимо остался на D7, кто-то перешел на иное поле. Я перешел на C#. По принципу паскаль - лучше от борланда, но шарп - от микрософта.
|
|
|
|
|
Dec 13 2008, 21:44
|
Местный
  
Группа: Участник
Сообщений: 205
Регистрация: 8-03-05
Пользователь №: 3 146

|
Вставлю 5 копеек. ИМХО разговор ушел куда-то в сторону от микроконтроллеров. Вот буквально 2 дня назад закончил проект, заодно перешел на ARM с AVR - оказалось ничего хитрого, наехал правда на один косяк, еррату не читал. Все прошло гладко (ИМХО) еще из-за того что о компилере вооще не беспокоился - собрал gcc для arm-elf - всё сразу заработало без глюков и неожиданностей. Половину прошивки передрал из своих старых исходников тупым копипастом, всё заработало. Надо же История банальная конешно, но реальная. Т.е. - вот реальная кроссплатформенность. Мне еще PIC32 нравится. Будет задача - думаю тоже использую без проблем. Windows - Linux - то же самое! В случае си! А паскаль? А нет его по факту нигде кроме PC и под винду. О чем тогда говорить? Может хороший язык, может нет, не знаю, потому ни похвалить ни покритиковать не могу, но мне (ИМХО) его знать не нужно!
|
|
|
|
|
Dec 13 2008, 22:17
|
Гуру
     
Группа: Участник
Сообщений: 3 928
Регистрация: 28-03-07
Из: РФ
Пользователь №: 26 588

|
Цитата(733259 @ Dec 13 2008, 21:44)  А паскаль? А нет его по факту нигде кроме PC и под винду. Это называется смотрю в книгу форум, вижу фигу. Только что давал линки _для AVR_. зы: вспомнил еще одну немаловажную причину "феерического коменческого успеха Delphi" - ценовая политика. И это практически никак не связано ни с качеством языка, ни с качеством компилятора. Это хорошо в России практически все работали на ворованном или с жесткими нарушениями лицензий. А буржуи денешку, однако, считают. Наверно совру, но порядок цифр тот - когда дельфи стоила около $3000, микрософт продавала студию за $700. При том, что полный пакет для нескольких разработчиков у борланда стоил под $10k и плюсом нужно было докупать разные нужные компонеты. А микрософт тут же предоставляла бесплатную редакцию и практически полнофункциональную библиотеку(aka framework). И, в общем, когда я для себя покупал студию, особо выбором не страдал - переплачивать в несколько раз даже за любимую компанию борланд и за не менее любимую дельфи не было никакого желания - за $10k тогда нужно было работать целый год на хорошей зарплате, не есть и не пить и спать где-нибудь на лавочке.
|
|
|
|
|
Dec 13 2008, 22:28
|
Местный
  
Группа: Участник
Сообщений: 205
Регистрация: 8-03-05
Пользователь №: 3 146

|
Цитата Это называется смотрю в книгу форум, вижу фигу. Только что давал линки _для AVR_. Вы, вероятно, просмотрели - я выше говорил о переходе на ARM. Т.е. не AVR, хотя аббревиатуры похожи. И я посмотрел последнюю ссылку из Вашего поста, которую Вы же сочли "ничотак", доверился профессионалу. А там "Demo version, output is limited to 2K of program words." После gcc - абсолютно не серьёзно.
|
|
|
|
|
  |
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0
|
|
|