初音ミクこんばんは Опубликовано 9 ноября, 2014 Жалоба Опубликовано 9 ноября, 2014 (изменено) Тема для обсуждения программ на языке 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. Изменено 18 марта, 2016 пользователем MrStitch (смотреть историю редактирования) Цитата
初音ミクこんばんは Опубликовано 12 ноября, 2014 Автор Жалоба Опубликовано 12 ноября, 2014 (изменено) Список используемой литературы: http://sa.uploads.ru/t/Hg2xN.jpg Изменено 12 ноября, 2014 пользователем 初音ミクこんばんは (смотреть историю редактирования) Цитата
Танцующий на воде Опубликовано 13 ноября, 2014 Жалоба Опубликовано 13 ноября, 2014 Открой для себя Qt Цитата
Jabberwocker Опубликовано 13 ноября, 2014 Жалоба Опубликовано 13 ноября, 2014 Кстати, да. Отличная штука, притом кроссплатформенная. Цитата
初音ミクこんばんは Опубликовано 13 ноября, 2014 Автор Жалоба Опубликовано 13 ноября, 2014 (изменено) Открой для себя QtСначала прочитаю 15 книг по программированию 15-летней выдержки.Это QuickTime, что ли?Слышал, слышал о нём в позапрошлом десятилетии. Это такой мудрёный формат для видео, который не воспроизводился обычным плейером Windows. Вот морока была с ним в эпоху CD. Изменено 13 ноября, 2014 пользователем 初音ミクこんばんは (смотреть историю редактирования) Цитата
Allen_8 Опубликовано 13 ноября, 2014 Жалоба Опубликовано 13 ноября, 2014 (изменено) Юра К, не придуривайся и научись гуглить. Qt - это кроссплатформенный фреймворк с богатым набором библиотек. Сейчас большинство тех, кто программирует на C++, им пользуется, и при поиске работы это учитывается. Писать прикладные программы на чистом С сейчас всё равно что вспахивать землю буром, когда рядом стоит бесплатный тракторный парк. Может, это и весело, но относится скорее к археологии, чем к современному программированию. Ах, да, можно ещё Кобол изучить. Говорят, к 3000 году снова понадобится. Изменено 13 ноября, 2014 пользователем Allen_7 (смотреть историю редактирования) 1 Цитата
Jabberwocker Опубликовано 13 ноября, 2014 Жалоба Опубликовано 13 ноября, 2014 (изменено) Голый Си сейчас занимает нишу "переносимого ассемблера", поскольку в машинном коде сейчас уже никто в здравом уме ничего писать не будет, если есть хоть какой-то выбор. Qt (_не_ QT) -- отличный фреймворк. Кто на голом ВинАПИ кодил более-менее нетрадиционный интерфейс с пожеланиями дизайнера, тот может только вздыхать "почему раньше такого не было". Изменено 13 ноября, 2014 пользователем Jabberwocker (смотреть историю редактирования) Цитата
Танцующий на воде Опубликовано 14 ноября, 2014 Жалоба Опубликовано 14 ноября, 2014 Голый Си сейчас занимает нишу "переносимого ассемблера", поскольку в машинном коде сейчас уже никто в здравом уме ничего писать не будет, если есть хоть какой-то выбор.Юзер GTK+ люто минусует.Юзер Электронщик позвал коллег, скорость заминусовыания увеличивается экспоненциально.Линус Товальдс о вас вытирает ноги, он бы и рад сделать просто замечание, но характер у него не нордический. Догадайтесь за какую часть каждый из них минусует :) @初音ミクこんばんは, еще советую для себя открыть git c github-ом и bitbucket впридачу. Цитата
Jabberwocker Опубликовано 14 ноября, 2014 Жалоба Опубликовано 14 ноября, 2014 1. против GTK+ ничего не имею -- хотя, на мой взгляд, Qt4 привлекательнее.2. даже в embedded стараются писать на Си вместо ассемблера.3. линукс и живет в первую очередь потому, что написан на переносимом Си кстати, несколько лет назад проводили эксперимент -- оказалось, что современные оптимизирующие компиляторы выдают код, сравнимый с ручным ассемблером (а при заточке под конкретное поколение процессора -- иногда и более быстрый за счет учета особенностей кэша и конвейера). Цитата
Танцующий на воде Опубликовано 14 ноября, 2014 Жалоба Опубликовано 14 ноября, 2014 2. даже в embedded стараются писать на Си вместо ассемблера.Да, но бывает случаи, что конкретный чип приходится задействовать по максимум и тут только ассемблер. 3. линукс и живет в первую очередь потому, что написан на переносимом СиВместе с линуксом идет gcc\clang и glibc и там, и здесь и тут приходится использовать асм, хоть и далеко не везде. Это раз.Два, в ядре написано достаточно много высокоабстрактных вещей. кстати, несколько лет назад проводили эксперимент -- оказалось, что современные оптимизирующие компиляторы выдают код, сравнимый с ручным ассемблером (а при заточке под конкретное поколение процессора -- иногда и более быстрый за счет учета особенностей кэша и конвейера). Слышал, но ссылок не видел. Цитата
Jabberwocker Опубликовано 14 ноября, 2014 Жалоба Опубликовано 14 ноября, 2014 Да, но бывает случаи, что конкретный чип приходится задействовать по максимум и тут только ассемблер.Тогда нужные инструкции / обращения к портам оформляют как функции в отдельном ассемблерном исходнике (в крайнем случае -- макросы), а потом дергают эти функции из сишных исходников.Вместе с линуксом идет gcc\clang и glibc и там, и здесь и тут приходится использовать асм, хоть и далеко не везде.А я о чем? Си как портабельный ассемблер. Плюсы -- опционально, многие эмбедщики кривят нос от исключений и rtti.Реальный ассемблер убран так, чтобы реально его трогать не приходилось. Даже драйвера давно не пишут на голом ассемблере. Любой тимлид настучит по башке (возможно -- ногами) обормоту, который начнет писать логику на ассемблере вместо Си, за исключением случая "не влезаем в чип, а поменять в рамках ТЗ нельзя". Вот тогда начинается ходьба вприсядку и прочие извращения ради экономии байтиков. Цитата
初音ミクこんばんは Опубликовано 14 ноября, 2014 Автор Жалоба Опубликовано 14 ноября, 2014 А кто-нибудь помнит C--?Нашёл на одном из дисков, но разобраться руки не дошли. Зачем, если C работает, а размер программы 8 килобайт – не напряг вовсе. Цитата
Jabberwocker Опубликовано 14 ноября, 2014 Жалоба Опубликовано 14 ноября, 2014 На обычном Си можно добиться того же -- если не лень подсунуть свой рантайм.Во времена дос кто-то даже таким извратом занимался, чтобы сэкономить сколько-то килобайт. Цитата
Танцующий на воде Опубликовано 14 ноября, 2014 Жалоба Опубликовано 14 ноября, 2014 "не влезаем в чип, а поменять в рамках ТЗ нельзя"Бывает так, что смена потянет ко ординальной переделки всего устройства, что не есть гуд. Вот о таких я и говорил, что формально возможность есть, по факту выпендриваться на Си здесь будет дороже.А я о чем? Си как портабельный ассемблер.Что-то у вас больно широко понятие портабельного ассембера. На асме что-то типа OpenVZ не напишешь. Цитата
Jabberwocker Опубликовано 14 ноября, 2014 Жалоба Опубликовано 14 ноября, 2014 Что-то у вас больно широко понятие портабельного ассембера.Я имею в виду, что сейчас Си занимает ту нишу, что раньше занимал ассемблер.Но, в отличие от машинных кодов, исходники на Си портируются куда меньшими усилиями.Иногда даже в прошивках используют С++ в качестве "Си с классами", отключив исключения и rtti + очень осторожно обращаясь с шаблонами, чтобы не нарваться на раздувание кода.А просто ассемблеру осталась ниша мелких функций (вроде атомарных примитивов, синхронизации доступа к памяти, обращение к портам устройства и т.п.) либо (в редких случаях) -- упихивание в дешевый чип того, что не входит после компилятора с оптимизацией по размеру.Я, конечно, помню Volkov Commander... эту бы энергию да в мирных целях. Цитата
hao10 Опубликовано 15 ноября, 2014 Жалоба Опубликовано 15 ноября, 2014 Ассемблер в какой-то степени ещё жив - даже не столько потому, что на нём кто-то пишет ... сколько просто потому, что всё равно нужно понимать, как на нём что устроено и работает. Ну такие вещи всякие например. Иногда, да, всё ещё полезно заточить конкретную критическую секцию под конкретную железку, под которую компиляторы ещё не осилили, но уже совсем редко. А кто-нибудь помнит C--?Нашёл на одном из дисков, но разобраться руки не дошли.Этот язык делали не для того, чтобы писать на нём программы. Цитата
Jabberwocker Опубликовано 15 ноября, 2014 Жалоба Опубликовано 15 ноября, 2014 ха, а пользе знания ассемблера никто и не спорит.в конце концов, как без этого разбирать креш-дампы от юзеров? Цитата
hao10 Опубликовано 16 ноября, 2014 Жалоба Опубликовано 16 ноября, 2014 в конце концов, как без этого разбирать креш-дампы от юзеров? О, эт ты сейчас прям озвучил первую причину моей любви к open-source. Потому что там мне, как юзеру, не надо разбирать ассемблерные креш-дампы. Цитата
Jabberwocker Опубликовано 16 ноября, 2014 Жалоба Опубликовано 16 ноября, 2014 трижды ха-ха.в бесплатном софте если что-то тупо падает, и при этом софт не мега-популярный -- надежды для обычного юзера нет.в платном софте после нажатия "отправить отчет" будут сделаны хоть какие-то телодвижения -- и хотя несколько случаев, где приходилось возвращать деньги, я помню, обычно найти решение проблемы удается (и чаще всего проблемы вызваны конфликтом навесной защиты и антивиря/файрволла). кстати, опенсорс !-= бесплатному.Та же Qt идет полностью в исходниках, и позволяет использовать ее бесплатно в коммерческих приложениях (LGPL).Но если нужна статическая линковка -- то коммерческая лицензия в килобакс/год. Цитата
hao10 Опубликовано 16 ноября, 2014 Жалоба Опубликовано 16 ноября, 2014 Ну вроде я так и сказал.Бесплатный софт - худшее изобретение человечества, а опенсорсный - лучшее.Ну да ладно. Цитата
Jabberwocker Опубликовано 16 ноября, 2014 Жалоба Опубликовано 16 ноября, 2014 Если что -- в пресловутой Qt, самой что ни на есть open-source, баг с "промахиванием" кликов в ГУИ, если подключен планшет Wacom -- не правился годами.Кажется, лет 5 точно. Цитата
hao10 Опубликовано 16 ноября, 2014 Жалоба Опубликовано 16 ноября, 2014 Фу какой позор! Пошёл устанавливать венду и буду теперь всю жизнь на вижуал бейсике дотнет программировать, в вижуал студии експресс -_- Цитата
初音ミクこんばんは Опубликовано 19 ноября, 2014 Автор Жалоба Опубликовано 19 ноября, 2014 http://sa.uploads.ru/t/nBhU3.png http://uploads.ru/nBhU3.tiffhttp://uploads.ru/ma0cg.tiffhttp://uploads.ru/kzKVl.tiff Здравствуйте, вопрос к знатокам языка C такого плана. Я – разработчик карт Heroes III.https://www.animeforum.ru/index.php?app=forums&module=forums§ion=findpost&pid=2956412Сначала я установил Heroes III "Возрождение Эрафии". Затем я установил Heroes III "Дыхание смерти". Затем я запустил редактор карт "Дыхание смерти" и открыл в нём карту "Возрождение Эрафии".И вот, когда я пытаюсь что-то там зарисовать, мне выскакивает ошибка с последующим вылетом из программы редактирования.1) Если я обращусь к разработчикам, как посоветовала мне ОС, что будет?2) Допустим, я согласился отладить программу. Что там отладить? Запускается программа Visual C++ 6, редактор hex-кода. Что дальше делать-то? Кто виноват, ясно: программист. Что делать? Цитата
Shinsaku-To Опубликовано 20 ноября, 2014 Жалоба Опубликовано 20 ноября, 2014 1) Ничего не будет. Поддержка прекращена давным-давно.2) Ничего не сделаешь. Чтобы чужую программу без исходников перебрать через выхлопную трубу -- сильно хорошо уметь надо. Цитата
Jabberwocker Опубликовано 21 ноября, 2014 Жалоба Опубликовано 21 ноября, 2014 для начала -- запускать ее в режиме совместимости или в виртуальной машине под вин98 Цитата
Рекомендуемые сообщения
Присоединяйтесь к обсуждению
Вы можете написать сейчас и зарегистрироваться позже. Если у вас есть аккаунт, авторизуйтесь, чтобы опубликовать от имени своего аккаунта.