Перейти к содержанию
View in the app

A better way to browse. Learn more.

АнимеФорум

A full-screen app on your home screen with push notifications, badges and more.

To install this app on iOS and iPadOS
  1. Tap the Share icon in Safari
  2. Scroll the menu and tap Add to Home Screen.
  3. Tap Add in the top-right corner.
To install this app on Android
  1. Tap the 3-dot menu (⋮) in the top-right corner of the browser.
  2. Tap Add to Home screen or Install app.
  3. Confirm by tapping Install.

Featured Replies

Опубликовано
comment_2956854

Тема для обсуждения программ на языке C.

 

---------------------------------------------------

 

Для рисования окружностей в теме Heroes III нужна программа.

http://amvnews.ru/forum/viewtopic.php?t=3888

Эта программа рассчитывает границу 1/8 окружности заданного радиуса в целых числах. Вот эта программа.

 

http://sa.uploads.ru/t/9hxWu.jpg

 

Скачать:

https://yadi.sk/d/jzUo02Szcaw6g

В архиве:

 

текст программы;

сама программа (работающая!);

итоговый файл данных;

скриншот программы;

откорректированный выходной файл (с косметическими изменениями для удобства работы с ним).

 

Программа написана на языке C под DOS.

Изменено пользователем MrStitch (смотреть историю редактирования)

  • Ответов 91
  • Просмотры 27,6 тыс
  • Создана
  • Последний ответ

Топ авторов темы

Most Popular Posts

  • Юра К, не придуривайся и научись гуглить. Qt - это кроссплатформенный фреймворк с богатым набором библиотек. Сейчас большинство тех, кто программирует на C++, им пользуется, и при поиске работы это уч

  • Ну спрячь его и не показывай, раз не надо. Притом что на самом деле очень часто надо.   Ты программировать учишься? Ну вот и учись. Базовый синтаксис языка освоить -- это даже не полдела, с этим медв

  • Серьёзная проблема программистов в том, что многие из них считают себя достаточно умными, чтобы программировать. Они ошибаются. Нет для этого достаточно умных. Именно поэтому разрабатывают новые техно

Опубликовано
  • Автор
comment_2957226

Список используемой литературы:

 

http://sa.uploads.ru/t/Hg2xN.jpg

Изменено пользователем 初音ミクこんばんは (смотреть историю редактирования)

Опубликовано
  • Автор
comment_2957405

Открой для себя Qt

Сначала прочитаю 15 книг по программированию 15-летней выдержки.

Это QuickTime, что ли?

Слышал, слышал о нём в позапрошлом десятилетии. Это такой мудрёный формат для видео, который не воспроизводился обычным плейером Windows. Вот морока была с ним в эпоху CD.

Изменено пользователем 初音ミクこんばんは (смотреть историю редактирования)

Опубликовано
comment_2957412
Юра К, не придуривайся и научись гуглить. Qt - это кроссплатформенный фреймворк с богатым набором библиотек. Сейчас большинство тех, кто программирует на C++, им пользуется, и при поиске работы это учитывается. Писать прикладные программы на чистом С сейчас всё равно что вспахивать землю буром, когда рядом стоит бесплатный тракторный парк. Может, это и весело, но относится скорее к археологии, чем к современному программированию. Ах, да, можно ещё Кобол изучить. Говорят, к 3000 году снова понадобится.

Изменено пользователем Allen_7 (смотреть историю редактирования)

Опубликовано
comment_2957417

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

 

Qt (_не_ QT) -- отличный фреймворк. Кто на голом ВинАПИ кодил более-менее нетрадиционный интерфейс с пожеланиями дизайнера, тот может только вздыхать "почему раньше такого не было".

Изменено пользователем Jabberwocker (смотреть историю редактирования)

Опубликовано
comment_2957455

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

Юзер GTK+ люто минусует.

Юзер Электронщик позвал коллег, скорость заминусовыания увеличивается экспоненциально.

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

 

Догадайтесь за какую часть каждый из них минусует :)

 

@初音ミクこんばんは, еще советую для себя открыть git c github-ом и bitbucket впридачу.

Опубликовано
comment_2957461

1. против GTK+ ничего не имею -- хотя, на мой взгляд, Qt4 привлекательнее.

2. даже в embedded стараются писать на Си вместо ассемблера.

3. линукс и живет в первую очередь потому, что написан на переносимом Си

 

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

Опубликовано
comment_2957466

2. даже в embedded стараются писать на Си вместо ассемблера.

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

 

3. линукс и живет в первую очередь потому, что написан на переносимом Си

Вместе с линуксом идет gcc\clang и glibc и там, и здесь и тут приходится использовать асм, хоть и далеко не везде. Это раз.

Два, в ядре написано достаточно много высокоабстрактных вещей.

 

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

Слышал, но ссылок не видел.

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

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

Вместе с линуксом идет gcc\clang и glibc и там, и здесь и тут приходится использовать асм, хоть и далеко не везде.

А я о чем? Си как портабельный ассемблер. Плюсы -- опционально, многие эмбедщики кривят нос от исключений и rtti.

Реальный ассемблер убран так, чтобы реально его трогать не приходилось. Даже драйвера давно не пишут на голом ассемблере.

 

Любой тимлид настучит по башке (возможно -- ногами) обормоту, который начнет писать логику на ассемблере вместо Си, за исключением случая "не влезаем в чип, а поменять в рамках ТЗ нельзя". Вот тогда начинается ходьба вприсядку и прочие извращения ради экономии байтиков.

Опубликовано
  • Автор
comment_2957468

А кто-нибудь помнит C--?

Нашёл на одном из дисков, но разобраться руки не дошли. Зачем, если C работает, а размер программы 8 килобайт – не напряг вовсе.

Опубликовано
comment_2957470

На обычном Си можно добиться того же -- если не лень подсунуть свой рантайм.

Во времена дос кто-то даже таким извратом занимался, чтобы сэкономить сколько-то килобайт.

Опубликовано
comment_2957475

"не влезаем в чип, а поменять в рамках ТЗ нельзя"

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

А я о чем? Си как портабельный ассемблер.

Что-то у вас больно широко понятие портабельного ассембера. На асме что-то типа OpenVZ не напишешь.

Опубликовано
comment_2957477
Что-то у вас больно широко понятие портабельного ассембера.

Я имею в виду, что сейчас Си занимает ту нишу, что раньше занимал ассемблер.

Но, в отличие от машинных кодов, исходники на Си портируются куда меньшими усилиями.

Иногда даже в прошивках используют С++ в качестве "Си с классами", отключив исключения и rtti + очень осторожно обращаясь с шаблонами, чтобы не нарваться на раздувание кода.

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

Я, конечно, помню Volkov Commander... эту бы энергию да в мирных целях.

Опубликовано
comment_2957597

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

 

А кто-нибудь помнит C--?

Нашёл на одном из дисков, но разобраться руки не дошли.

Этот язык делали не для того, чтобы писать на нём программы.
Опубликовано
comment_2957682
в конце концов, как без этого разбирать креш-дампы от юзеров?

О, эт ты сейчас прям озвучил первую причину моей любви к open-source. Потому что там мне, как юзеру, не надо разбирать ассемблерные креш-дампы.

Опубликовано
comment_2957684

трижды ха-ха.

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

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

 

кстати, опенсорс !-= бесплатному.

Та же Qt идет полностью в исходниках, и позволяет использовать ее бесплатно в коммерческих приложениях (LGPL).

Но если нужна статическая линковка -- то коммерческая лицензия в килобакс/год.

Опубликовано
comment_2957737

Если что -- в пресловутой Qt, самой что ни на есть open-source, баг с "промахиванием" кликов в ГУИ, если подключен планшет Wacom -- не правился годами.

Кажется, лет 5 точно.

Опубликовано
comment_2957739
Фу какой позор! Пошёл устанавливать венду и буду теперь всю жизнь на вижуал бейсике дотнет программировать, в вижуал студии експресс -_-
Опубликовано
  • Автор
comment_2958165

http://sa.uploads.ru/t/nBhU3.png

 

http://uploads.ru/nBhU3.tiff

http://uploads.ru/ma0cg.tiff

http://uploads.ru/kzKVl.tiff

 

Здравствуйте, вопрос к знатокам языка C такого плана. Я – разработчик карт Heroes III.

https://www.animeforum.ru/index.php?app=forums&module=forums&section=findpost&pid=2956412

Сначала я установил Heroes III "Возрождение Эрафии". Затем я установил Heroes III "Дыхание смерти". Затем я запустил редактор карт "Дыхание смерти" и открыл в нём карту "Возрождение Эрафии".

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

1) Если я обращусь к разработчикам, как посоветовала мне ОС, что будет?

2) Допустим, я согласился отладить программу. Что там отладить? Запускается программа Visual C++ 6, редактор hex-кода. Что дальше делать-то?

 

Кто виноват, ясно: программист. Что делать?

Опубликовано
comment_2958399

1) Ничего не будет. Поддержка прекращена давным-давно.

2) Ничего не сделаешь. Чтобы чужую программу без исходников перебрать через выхлопную трубу -- сильно хорошо уметь надо.

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

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

Гость
Ответить в этой теме...

Важная информация

Configure browser push notifications

Chrome (Android)
  1. Tap the lock icon next to the address bar.
  2. Tap Permissions → Notifications.
  3. Adjust your preference.
Chrome (Desktop)
  1. Click the padlock icon in the address bar.
  2. Select Site settings.
  3. Find Notifications and adjust your preference.