Форум программистов, компьютерный форум, киберфорум
Наши страницы

Пишем свой интерпретатор языка BASIC - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Меню и список http://www.cyberforum.ru/cpp-beginners/thread41194.html
Здравствуйте форумчане. Помоги пожалуйста в следующем вопросе: У меня есть 2связный список, написано меню. Но в моменте когда написано make a list и delete custom необходимо чтобы выводились:...
C++ Здравствуйте! Не могу поместить class в один файл с программой. file.hpp #include "Cat.hpp" // здесь классы "2)" Cat::Cat(int initialAge) { itsAge = initialAge; } Cat::~Cat() { http://www.cyberforum.ru/cpp-beginners/thread41186.html
Массивы строк C++
Привет всем! Задан массив строк. Как узнать который символ встечаетса найбольшое количество раз в етом массиве?
C++ вывод на экран набор треугольников и квадратов, которые произвольно двигаются и меняют размер
Please, help me!!! Вот текст программы, которая выводит на экран набор треугольников и квадратов, которые произвольно двигаются и меняют размер только квадратов. Проблема в том, что необходимо...
C++ Округление дробного числа до целого в большую сторону. http://www.cyberforum.ru/cpp-beginners/thread41139.html
Доброго дня. Я новичок в программирование на Visual C++. Проблема такая программа должна считать кол-во месяцев, если числа целые то программа шла дальше, если дробное то (например 3.33333) ...
C++ Код из Delphi в C++ Нужно написать курсовую на C++. Сам я в программировании плохо шарю (не программист). Попросил у народу помощи, помогли. Но решение на Delphi: {$APPTYPE CONSOLE} type byteset=set of byte; ... подробнее

Показать сообщение отдельно
Evg
Эксперт CАвтор FAQ
18248 / 6373 / 438
Регистрация: 30.03.2009
Сообщений: 17,640
Записей в блоге: 28
02.11.2009, 15:38
Динамическая библиоткеа - это по большому счёту часть кода, вынесенная отдельно. Это экономит дисковое пространство, т.к. динамическая библиотека есть в единственном экземпляре и нет необходимости статически линковать к каждому бинарнику

Второй бонус динамической библиотеки - это возможность её подключения прямо во время работы программы

О чём говорил я "тогда" - толком уже и не помню. Но смысл скорее всего сводится к тому, что ты заводишь некий абстрактный интерфейс для работы с графикой. Грубо говоря, это процедуры типа "инициализировать графику", "нарисовать точку в виртуальное окно", "отобразить виртуальное окно на физическое" и т.п. - т.е. набор низкоуровневых примитивов. Далее ты можешь создать динамическую библиотеку, которая реализовывает этот интерфейс через SDL, потом другую библиотеку, которая реализовывает этот интерфейс через что-то другое. Т.е. для твоего интерпретатора получается до фонаря, что там делается на низком уровне и какая реально графическая библиотека используется, он работает с предоставленным интерфейсом

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

1. Сейчас FOR сделан несколько через ж...у (там вроде бы только целочисленный положительный STEP поддерживается)
2. В SCREEN можно подать любое число (пока оно игнорируется, реально должно отрабатываться в __rt_graph_SCREEN. Выхода обратно в текстовый режим пока нет
3. Обрати внимание на то, как реализованы PRINT, синусы-косинусы, графика с точки зрения реализации в виде процедур - для движка промежуточного представления всё это выглядит в виде одной и той же конструкции. При этом в операции вызова я список аргументов печатаю в квадратных скобках (чтобы не мельтешило в глазах с круглыми скобками от выражений) - запускай "./interp -s"
4. Обрати внимание, как у меня на нижнем уровне (runtime) реализована графика: разбор непосредственно бэйсиковской реализации отдельно, работа с графической библиотекой отдельо, алгоритмы прорисовки отдельно
5. Всё то, что находится в graph_sdl.c по большому счёту и есть та динамическая библиотека, о которой я писал выше. Если заменить префикс sdl_ на что-нибудь другое, то мы как раз и получим тот абстрактный интерфейс нижнего уровня. Всё, что находится за пределами модуля sdl_graph "не знает" о том, что мы работаем с библиотекой SDL
6. Пока по прежнему на вход читаем файл a.txt. Опции, которые на данный момент могут тебе показаться интересными
Пользовательские:
-w трассировка записей
-e трассировка исполнения
-u по умолчанию все переменные прописываются undef'ами (для отладки неинициализированных значений)
Внутренние:
-s печать промежуточного представления
Остальные опции увидишь в main.c но они тебе особенно не интересны
1
Вложения
Тип файла: rar basic.tar.gz.rar (37.7 Кб, 71 просмотров)
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru