Перейти к содержанию
    

Боюсь Вас огорчить, но я даже не буду пытаться. Языки слишком разные, паскаль для программиста дружелюбнее, а си для - целевого железа. Если хотите меряться строками динамической длинны - вам к С++.
В этой задаче в этой формулировке "истинные" строки не нужны, достаточно маленкого буфера фиксированной длины (проверки на наличие файла в паскалевском варианте этого в явном виде не было, как оно себя без файла - не знаю).

#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).

 

ваш ход! :)
Ну вот он. Правда, он не упирается в строку из одного символа перевода строки, но этого из _текстового_ условия и не следовало, только из кода на паскале :-)

Да, кстати, скомпилированный turboC 2.0 exe - 7544 байт. Работает в точности так же, как и 32-битный exe от mingw32-gcc (а это уже относится к немцам к разговорам о переносимости между 16-бытними и 32-битными системами).

Ваш же исходник, скомпилированный даже гораздо более "свежим" BP7/dos, хоть и занял 2304 байта, но радостно копирует первые 255 байт и всё. Потому, что стоит readln/writeln и первое же чтение пропускает всё до конца файла (он, кстати, сделан так, что символа новой строки не содержит вообще :) ). С read/write работает нормально, но это уже не Ваш исходник :-), "абстрактно" рассчитанный на "строки у нас правильные" 32-битный счётчик символов в начале строки, а не на 8-битный.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Или можете привести такое же для паскаля ? Давайте, вместе посмеемся.

Двавайте. Поскольку Вы не сможете скомпилировать свой пример, который, как Вы утверждаете, написан на Си, то я уже давно грустно смеюсь над дуростью. Даже сквозь отсутствие форматирования (язык Си ведь не заставляет писать неформатированные тексты?), и однобуквенные названия функций( язык Си понимает и осмысленые имена), и просто бредовый повтояющийся (фантазии совсем-совсем не хватило?) набор манипуляций с указателем передаваеммым некой функции, видно минимум три несовместимых с языком ошибки. Более подробно о том, что это за "пример на C", Вам расскжет любой компилятор. На таком уровне и я могу написать любой набор символов и сказать, что это Паскаль. Компилятор паскаля его не поймет, но разве это имеет какое-то значение для Вас :( :( :(? Вы, как выяснилось, можете смеяться и без всякой причины.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Поскольку Вы не сможете скомпилироваь свой пример

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

 

На таком уровне и я могу написать любой набор символов и сказать, что это Паскаль.

Давайте. Сравним читаемость "кода".

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

хоть я от вас и не слышал утверждения, что Паскаль хуже Си (или С++), прошу вас высказаться: вы так же считаете, что ХУЖЕ? или все-таки согласны, что ПАСКАЛЬ не хуже, не лучше, а такой же, просто иной язык.
Хоть вопрос и не ко мне - так в том-то и дело, что как только среднестатистический "паскалист" начинает говорить о С, то он сразу начинает с яростных "наездов" на синтаксис/отсутствие проверок/пропускание ошибок/..., с тупых примеров, аналогичных приведенному, с того, что С - "птичий" write-only язык и т.п., при этом обижаясь на аналогичные по сути "наезды"на паскаль, но уж себя-то считая объективным и хладнокровными. Так что не надо говорить, что "односторонне неуравновешенные специалисты нервно холиварят про паскаль".

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

 

 

я и не говорю, что кривость рук исправляет компилятор... но на остальное-то вы обратили внимание? был бы компилятор построже
Это Вы о чём? О том, что Ваш исходник со строкой и readln/writeln , скомпилированный "компилятором построже" BC7 работает совершенно не так, как он же, скомпилированный дельфями или чем там? Абстракция "правильных строк" оказалась-то дырявой и "расслабиться" позволяет не только С...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Во-первых, я знаю....

Знаете/Не знаете этого уже я не знаю и мне безразлично. Но, если действительно знаете, то все еще хуже :(, ибо сознательные подтасовки хуже натуральной дурости.

 

Давайте. Сравним читаемость "кода".

Легко. Это доведенный (речь идет не о безумных манипуляциях, а о только минимальном форматировании, и назначении неких "осмысленных" имен и исправлении явных синтаксических ошибок дабы откомпилировать ) исходник Вашей любимой псевдосишной фиговины.

    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 );

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Кстати, снова по поводу 'феерического коменческого успеха' Delphi. Кто нибудь может сказать, почему несмотря на весь 'феерический' успех Borland продал всю эту Дельфи со всеми потрохами фирме Embarcadero Technologies?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

XVR

Не было такого. А что-то вроде Borland->Inprice->...->CodeGear->Embarcadero...

Для Borland Delphi стало "мелочью" и "в тягость", т.е. убыточным бизнесом и эта фирма сосредоточилась на основном направлении ('Products for the Software Development Life Cycle').

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А что-то вроде Borland->Inprice->
Borland->Inprice - ИМХО переименование, потом они вернулись к старому имени, т.е. не продажа.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Напишите сие на Паскале. Посмотрим, будет-ли эта Ваша ГАЛИМАТЬЯ хоть сколь-нибудь более читаемой на Паскале.

Так на си я уже вариант приводил, зачем еще раз приводить ? Я ожидал, что вы на паскале выдадите такое же веселенькое.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

733259

Могет быть :) или выделили подразделение. Помню только, что прибыль в %, приносимая этим продуктом стала очень мала в соотношении ко всей прибыли. Мда ...

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Кто нибудь может сказать, почему несмотря на весь 'феерический' успех Borland продал всю эту Дельфи со всеми потрохами фирме Embarcadero Technologies?

Не знаю уже, кто там кому что продал, но на мой взгляд проблема вызвана выпуском MS FrameWork и C#. После чего борланд бросился догонять m$, поступил подло, закрыв линию delphi 7.0, и выпустил delphi 8.0. Что есть принципиально иной продукт со всех точек зрения, в т.ч. и по совместимости/переносимости исходников. Прогать на пародии естественно не эстетично, поэтому вряд ли многие прогеры перешли на D8. Кто-то видимо остался на D7, кто-то перешел на иное поле. Я перешел на C#. По принципу паскаль - лучше от борланда, но шарп - от микрософта.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Вставлю 5 копеек.

ИМХО разговор ушел куда-то в сторону от микроконтроллеров.

Вот буквально 2 дня назад закончил проект, заодно перешел на ARM с AVR - оказалось ничего хитрого, наехал правда на один косяк, еррату не читал. Все прошло гладко (ИМХО) еще из-за того что о компилере вооще не беспокоился - собрал gcc для arm-elf - всё сразу заработало без глюков и неожиданностей. Половину прошивки передрал из своих старых исходников тупым копипастом, всё заработало. Надо же :)

История банальная конешно, но реальная.

Т.е. - вот реальная кроссплатформенность. Мне еще PIC32 нравится. Будет задача - думаю тоже использую без проблем. Windows - Linux - то же самое!

В случае си! А паскаль? А нет его по факту нигде кроме PC и под винду.

О чем тогда говорить? Может хороший язык, может нет, не знаю, потому ни похвалить ни покритиковать не могу, но мне (ИМХО) его знать не нужно!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Я ожидал, что вы на паскале выдадите такое же веселенькое.

Этот набор символов был веселеньким? Ну тогда я не знаю, как Вас рассмешить. Ну, разве только..., ээээ.... может пузико пощекотать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

А паскаль? А нет его по факту нигде кроме PC и под винду.

Это называется смотрю в книгу форум, вижу фигу. Только что давал линки _для AVR_.

 

зы: вспомнил еще одну немаловажную причину "феерического коменческого успеха Delphi" - ценовая политика. И это практически никак не связано ни с качеством языка, ни с качеством компилятора. Это хорошо в России практически все работали на ворованном или с жесткими нарушениями лицензий. А буржуи денешку, однако, считают. Наверно совру, но порядок цифр тот - когда дельфи стоила около $3000, микрософт продавала студию за $700. При том, что полный пакет для нескольких разработчиков у борланда стоил под $10k и плюсом нужно было докупать разные нужные компонеты. А микрософт тут же предоставляла бесплатную редакцию и практически полнофункциональную библиотеку(aka framework). И, в общем, когда я для себя покупал студию, особо выбором не страдал - переплачивать в несколько раз даже за любимую компанию борланд и за не менее любимую дельфи не было никакого желания - за $10k тогда нужно было работать целый год на хорошей зарплате, не есть и не пить и спать где-нибудь на лавочке.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Это называется смотрю в книгу форум, вижу фигу. Только что давал линки _для AVR_.
Вы, вероятно, просмотрели - я выше говорил о переходе на ARM. Т.е. не AVR, хотя аббревиатуры похожи.

И я посмотрел последнюю ссылку из Вашего поста, которую Вы же сочли "ничотак", доверился профессионалу. А там "Demo version, output is limited to 2K of program words." После gcc - абсолютно не серьёзно. :(

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Присоединяйтесь к обсуждению

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

Гость
К сожалению, ваш контент содержит запрещённые слова. Пожалуйста, отредактируйте контент, чтобы удалить выделенные ниже слова.
Ответить в этой теме...

×   Вставлено с форматированием.   Вставить как обычный текст

  Разрешено использовать не более 75 эмодзи.

×   Ваша ссылка была автоматически встроена.   Отображать как обычную ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставлять изображения напрямую. Загружайте или вставляйте изображения по ссылке.

×
×
  • Создать...