Open MGWL opened 6 years ago
Некоторые моменты пояснены здесь.
Библиотека Рулада появилась на основе библиотек, накопленных на http://dsource.org/ . Тогда D2 только начинался... Но и в, принципе, я не понял, почему авторы решили потерять backward compartibility (обратную совместимость)... Но, надеюсь, что собственный компилятор, который виртуально когда-нибудь появится, этот разрыв компенсирует(!)
Сайт с исходниками D1
- это целая свалка полезных вещей. Но, в принципе, самые главные из них уже в Руладе
...
Что касается
то они есть в репозитории примеров
В Руладе
по умолчанию используется Фобос
, а для использования Танго
надо указывать в sc.ini
параметр -version=Tango
. Можно написать отдельную программу-конфигуратор. Но я использую Руладу
только как подручное средство для работы над Динрус
. С ним они могут "дружить" только, если на Руладе
состряпана dll, так как при прямом взаимодействие возникает конфликт имён в рантайме.
была изначально и никуда не потерялась, но на каждой архитектуре есть свои нюансы. Конечно, желательно вместо DMD
использовать GDC
. Но dmd
есть и для Linux
, поэтому, думаю, проблема только в том, чтобы заняться дальнейшей адаптацией исходников под эти системы. Просто на данный момент проводится эксперимент в целом, а также руссификация библиотек с английского на русский. Это медленный процесс, так как исходники проходят сложную переработку. Ну, а когда всё будет налажено, для переноса кодов на другие системы понадобится гораздо меньше усилий.
dinrus, dgui, dinrusex, rulada, ruladaex, rgui
etc)это простая идея упростить изменения файлов конфигурации. Поменять её прямо из консоли простым вызовом элементарной программки (dinrus, ruladaex и т.д.) Что-то типа RadioButton. Надо было бы открывать файл bin/sc.ini
(это основной файл конфигурации, а можно написать такой же в папке программы, тогда этот будет игнорироваться, а конфигурация браться из второго) и другой файл, в etc, в котором записывается конфигурация для dsss и rebuild, и заниматься редактированием вручную.
В общем, эти утилиты облегчают задачу)))
В принципе, можно таким же образом менять версию 2 на 1, и наоборот. Но для этого понадобится замена dmd.exe и ссылки на специальные (отдельные) папки библиотек и файлов импорта пакетов под D2
(в Динрусе
эта папка переименована из import
в imp
, что позволяет установить и официальную версию D1!). (Остальные инструменты, кажется, менять не обязательно)... Естественно, что менять dmd1
на dmd2
придётся постоянно, поскольку если даже расположить их в разных местах, и указать в переменной path
, система будет "двоить"... Именно поэтому часто рекомендуют прежде удалить старую версию, а потом ставить новую (например, тот же python.exe может быть разной версии. А если их несколько на компе, то потенциально будут путаться библиотеки и исполнимые файлы, а результат работы совершенно непонятен!!)
Если выполнить в командной строке bintod bin.file
, например, dmd.exe
, то мы получим файл.d
, в котором будет отображён весь заданный нами бинарник, как константный набор символов. Далее можно записать этот набор обратно в файл, или удалить и перезаписать его другим набором символов.
Примерно так можно менять dmd1
на dmd2
.
(Эту же операцию можно делать с любыми бинарными файлами, например, картинками).
Кажется я начинаю понимать структуру. Консоли - это программы изменения окружающей среды. Их задача обеспечить пути поиска до исходников и библиотек, тем самым сужая или расширяя количество доступных модулей. Сами модули по возможности адаптированы к собственной разработке RunTime системы, которая обеспечивает базовую функциональность и неизменность, чего нельзя сказать о Фобос и D2, которые меняются каждый месяц, что требует постоянно поддерживать проекты в работоспособном состоянии адаптируя их к изменениям.
В общем идея понятна.
Вопрос: почему за основу взят D1? Думаю из за того, что он стабилен... А где примеры? Везде вижу только библиотеки ... А как с кроссплатформенностью?