1. Друзья, в это тяжёлое и непонятное для всех нас время мы просим вас воздержаться от любых упоминаний политики на форуме, - этим ситуации не поможешь, а только возникнут ненужные ссоры и обиды. Это касается также шуток и юмора на тему конфликта. Пусть войны будут только виртуальными, а политики решают разногласия дипломатическим путём. С уважением, администрация Old-Games.RU.

    Скрыть объявление
  2. Пожалуйста, внимательно прочитайте правила раздела.
  3. Если Вы видите это сообщение, значит, вы ещё не зарегистрировались на нашем форуме.

    Зарегистрируйтесь, если вы хотите принять участие в обсуждениях. Перед регистрацией примите к сведению:
    1. Не регистрируйтесь с никами типа asdfdadhgd, 354621 и тому подобными, не несущими смысловой нагрузки (ник должен быть читаемым!): такие пользователи будут сразу заблокированы!
    2. Не регистрируйте больше одной учётной записи. Если у вас возникли проблемы при регистрации, то вы можете воспользоваться формой обратной связи внизу страницы.
    3. Регистрируйтесь с реально существующими E-mail адресами, иначе вы не сможете завершить регистрацию.
    4. Обязательно ознакомьтесь с правилами поведения на нашем форуме, чтобы избежать дальнейших конфликтов и непонимания.
    С уважением, администрация форума Old-Games.RU
    Скрыть объявление

Кодерский уголок

Тема в разделе "Мастерская", создана пользователем Dimouse, 10 сен 2006.

  1. Dimouse King of Mice

    Dimouse

    Администратор Переводчик

    Регистрация:
    18 апр 2003
    Сообщения:
    35.045
    В соответствии с назначением раздела, в этой теме предполагается обсуждать конкретные вопросы, которые у вас возникают при создании своих программ (в частности - игр), помогать другим, размещать полезные ссылки на статьи и материалы, которые могут пригодиться другим.

    Что здесь не допускается:
    - беспорядочный флуд на всевозможные темы, в том числе общие обсуждения языков программирования без конкретики (карается по статье "флуд и оффтопик" *),
    - разжигания на темы "что лучше, Си или Си++ и чем они отличаются?", "какой язык программирования лучше X или Y?" и т.п. (карается по статье "флейм и участие в холиварах" *),
    - мерение пиписьками в стиле "я лучше программирую" или "ты не умеешь программировать" (карается по статье "оскорбление участников и их взглядов" *).

    Всё это допускается в специально созданной теме "Беседка для программистов или «Бутерброд с кодом».

    * по усмотрению модератора также возможно применение блокировки в данной теме.

    Оригинальное сообщение
     
    Последнее редактирование модератором: 24 ноя 2014
    CY8R4Y нравится это.
  2.  
  3. Geryon

    Geryon

    Регистрация:
    13 май 2008
    Сообщения:
    1.228
    Можно, но я никогда не пользовался ни github, ни чем-либо подобным (я вообще не профессиональный программист ни разу :blush:). Как это сделать, если вкратце?
     
  4. nop

    nop

    Регистрация:
    5 дек 2014
    Сообщения:
    2.297
    Geryon, у меня тоже опыт невелик, может попробую завтра сам.
    поставить стандартный виндовый git http://git-scm.com/download/win
    У него квадратно-гнездовой GUI, но меня устраивает, хотя у git всегда практически приходится чередовать GUI с консолью.
    зарегаться на github
    найти в поиске, кто залил самую свежую версию этой библиотеки и скопировать себе, т.е. сделать ветку. Далее можно ее скачать и распаковать - git увидит ее и сможет с ней работать. скопировать туда ваши измененные файлы(заменив прежние), запустить правой кнопкой мыши из файл - менеджера GIT GUI и сделать первый commit :)
    Принцип такой - видите список файлов, которые по сравнению с предыдущей версией были изменены, выбираете один или несколько хоткеем Ctrl-T (называется stage for commit), и они появляются в другом списке. Даете имя своему коммиту и жмете кнопочку. Изменения копируются в локальную базу данных git и потом командой push можно их расшарить с другими.
     
    Последнее редактирование: 12 дек 2014
  5. MisterGrim Very old

    MisterGrim

    Legacy

    Регистрация:
    29 ноя 2007
    Сообщения:
    25.423
    ftp://mirrors.fe.up.pt/pub/djgpp/beta/v2gnu/
    Последняя версия — 4.9.2 (собственно, самый свежий GCC).

    ---------- Сообщение добавлено в 03:09 ---------- Предыдущее сообщение размещено в 03:07 ----------

    DJGPP понимает LFN.
    С GCC тоже можно сначала собрать под винду.
     
    nop нравится это.
  6. Geryon

    Geryon

    Регистрация:
    13 май 2008
    Сообщения:
    1.228
    Про новую версию GCC и поддержку LFN я не знал. Однако проблем, вероятно, все равно не оберешься - сам DosBox не поддерживает LFN, нужен SVN-билд, а для тестирования нужен другой SVN-билд (с поддержкой Innovation SSI-2001). Плюс к этому вроде бы DJGPP крашит DosBox при сборке с оптимизацией. У меня DJGPP вообще на DosBox не устанавливается - зависает установщик. Не знаю, возможно, это все от недостатка опыта.
     
  7. MisterGrim Very old

    MisterGrim

    Legacy

    Регистрация:
    29 ноя 2007
    Сообщения:
    25.423
    DJGPP прекрасно работает как в Win98, так и в любой 32-битной системе (XP, Vista, 7).
     
  8. Steel Rat Stainless

    Steel Rat

    Регистрация:
    28 дек 2006
    Сообщения:
    3.260
    Вот это дело вообще лишнее. Годится только для HelloWorld, в остальных случаях создаст массу проблем.
     
  9. Geryon

    Geryon

    Регистрация:
    13 май 2008
    Сообщения:
    1.228
    В 32-битных системах - это через запуск cmd /c, или как там?
     
  10. MisterGrim Very old

    MisterGrim

    Legacy

    Регистрация:
    29 ноя 2007
    Сообщения:
    25.423
    Это там, где работают консольные DOS-приложения (в 64-битных — нет).

    ---------- Сообщение добавлено в 11:43 ---------- Предыдущее сообщение размещено в 11:41 ----------

    Это я к тому, что в крайнем случае можно воспользоваться виртуалкой с той же XP.

    ---------- Сообщение добавлено в 11:46 ---------- Предыдущее сообщение размещено в 11:43 ----------

    В принципе можно, наверное, и кросс-компиляцию наладить, но придётся шаманить много.
     
  11. Steel Rat Stainless

    Steel Rat

    Регистрация:
    28 дек 2006
    Сообщения:
    3.260
    Кстати, не так уж много. Делал как-то efi загрузчик, а у него стандарт - виндячий exe. Собирал в линуксе, обычным gcc, надо добавить готовый объектный файл с заголовком и ещё пару параметров учесть. Собсна, вот http://www.rodsbooks.com/efi-programming/hello.html
     
  12. Geryon

    Geryon

    Регистрация:
    13 май 2008
    Сообщения:
    1.228
    Кстати, раз уж назрел этот вопрос: как избавиться от некрасивых объявлений типа

    Код:
    #include "../../sidplayfp/SidConfig.h"
    
    Может, где-то прописать какие-то каталоги в качестве дефолтных?
     
  13. Рыжий Тигра Сам себе «пират»

    Рыжий Тигра

    Регистрация:
    3 май 2012
    Сообщения:
    1.823
    Никак. Это красивые объявления. И полезные. Для работы с ядрами, с DDK'ами, с навороченными библиотеками компонентов...
     
    Ulysses нравится это.
  14. Steel Rat Stainless

    Steel Rat

    Регистрация:
    28 дек 2006
    Сообщения:
    3.260
    Да, чем больше каталогов будет задано компилятору, тем больше времени он будет шариться по ним в поисках каждого инклюда, тем надёжнее будет сборка!
     
  15. MisterGrim Very old

    MisterGrim

    Legacy

    Регистрация:
    29 ноя 2007
    Сообщения:
    25.423
    Все необходимые пути обычно прописываются в Makefile (ну или что там у нас вместо него).
     
  16. Рыжий Тигра Сам себе «пират»

    Рыжий Тигра

    Регистрация:
    3 май 2012
    Сообщения:
    1.823
    Неинтересно: а как в случае чего передать наружу исходники? ИМХО set-переменная INCLUDE будет всё ж понадёжнее.
    Агаага, а потом окажется, что в половине этих каталогов есть разные файлы с одним и тем же именем... :-(
     
  17. Steel Rat Stainless

    Steel Rat

    Регистрация:
    28 дек 2006
    Сообщения:
    3.260
    Рыжий Тигра, ты эта, иронию совсем не уловил или хотя бы заподозрил?
     
    A.P.$lasH нравится это.
  18. Рыжий Тигра Сам себе «пират»

    Рыжий Тигра

    Регистрация:
    3 май 2012
    Сообщения:
    1.823
    Steel Rat, заподозрил, но неуверенно. :-(
     
    Geryon нравится это.
  19. Geryon

    Geryon

    Регистрация:
    13 май 2008
    Сообщения:
    1.228
    Я тоже заподозрил, но неуверенно. Ты, Steel Rat, уж хоть табличку "Сарказм", что ли, поднимай в таких случаях.
     
    Рыжий Тигра нравится это.
  20. nop

    nop

    Регистрация:
    5 дек 2014
    Сообщения:
    2.297
    "Вам шашечки или ехать?"
    Когда есть конкретная цель - скомпилировать пионерский говнокод малой кровью, годится то, что работает.

    ---------- Сообщение добавлено в 00:15 ---------- Предыдущее сообщение размещено в 00:13 ----------

    Я так понял, вы решили пошутить. Пути к библиотекам культурные люди прописывают как раз таки в настройках проекта. Все эти "../.." - только от лени. Другое дело - каждое дерево инклудов должно прописываться лишь один раз, без дублирования поддеревьев, за исключением вышеупомянутой ситуации.
     
  21. Рыжий Тигра Сам себе «пират»

    Рыжий Тигра

    Регистрация:
    3 май 2012
    Сообщения:
    1.823
    Просто посмотри, как сделано в DDK. Ветку D:\WINDDK\2600.1106\inc\ddk\w2k\ прописываешь в путях и не паришься когда надо уцепить файлик из D:\WINDDK\2600.1106\inc\w2k\: пишешь
    Код:
    #include <../../w2k/objbase.h
    - слишком сложно? По-моему, ничуть.
    Культурные - в настройках, пардон, среды. Чтобы тот, кому дорабатывать после тебя, не переписывал в куче мест в проекте - да хоть даже и в одном месте, всё равно неудобно.
     
  22. nop

    nop

    Регистрация:
    5 дек 2014
    Сообщения:
    2.297
    Конечно несложно. Я же и писал, что такое делается в первую очередь от лени. Сложности начинаются, когда ваш проект кто-то заберет из системы контроля версий в другое место.

    Очень спорное утверждение. Можно и так, и эдак.
    * Разные проекты используют разные версии одних и тех же библиотек, либо просто библиотеки, в которых могут быть файлы со сходными именами. Например, у меня может быть куча проектов под iOS, один из которых билдится под iOS8, а второй, (например, для моего старого ipod-touch :) ) - аж под 2.2
    А есть еще библиотеки для дебага и релиза, с оптимизацией под разные платформы, выбираемые в зависимости от конфигурации проекта... Это тоже в настройках среды должно быть? :rofl:
    * Я не хочу, клепая очередной hello world, чтобы мои инклуды искались в туевой хуче путей, прописанных в среде.
    * У кого-то среда = VIM

    Править в проектах,скорее всего, придется немного, потому что библиотеки часто либо ставятся по стандартным путям, либо при инсталляции прописываются в переменных окружения. А вот сам проект может валяться у каждого конкретного разработчика где угодно. Если речь идет о библиотеках, распространяемых вместе с проектом, то их пути должны быть прописаны относительно какого-нибудь $(ProjectDir)
    Ну и напоследок. Лично для меня, код Майкрософта в качестве примера "как надо делать" = :facepalm:
     
    Последнее редактирование: 16 дек 2014
  1. На этом сайте используются файлы cookie, чтобы персонализировать содержимое, хранить Ваши предпочтения и держать Вас авторизованным в системе, если Вы зарегистрировались.
    Продолжая пользоваться данным сайтом, Вы соглашаетесь на использование нами Ваших файлов cookie.
    Скрыть объявление